这一系列我们来讲讲CTP开发中常见的一些问题,主要参考QQ群里面常被问到的一些。这些问题经常出现,有的甚至是“日经”问题。每次反复解释不胜其烦,于是干脆就总结成这个系列。
程序化交易接入CTP首先需要登录, 而登录过程中最常见的错误就是“CTP:不合法的登录”。如下所示:
OnRspUserLogin出现这个错误, 只可能是下面几个方面问题:
1)BrokerID
经纪公司代码,就是期货公司的编码,每个期货公司一个,可以咨询期货公司客服获得或者在微信公众号后台回复“地址”得到。如果是在相应期货公司主页上下载得到的客户端,这个值是与客户端绑定好的。
2)UserID
用户代码,就是在CTP上开户时得到的客户编码。
3)Password
交易密码,即开户时设置的密码。
4)pszFrontAddress
交易前置地址(即客户端上的选择服务器)。首先请确保上面三个参数没有问题,投资者可以在相应的期货公司客户端上先尝试登陆下,如果登陆不成功可以尝试换个服务器,再不行则去重置下密码再说;如果可以在客户端登陆成功而自己开发的交易程序却登不上,则就是这个参数有问题,因为不同的地址可能对应着不同的系统。
期货公司可能会有多套CTP系统,这些系统之间并不互通。例如本来是在主席上开户交易的,却用账户去登录次席就会出这个错。
客户可以在能登录成功的客户端上点击测速获取正确的前置地址,如下所示:
也可以在微信公众号后台回复“地址”得到期货公司的所有前置地址,挨个试一试。
另外还要注意以下几点:
1)
“不合法的登录” 一般是密码错了,如果不停试密码试了多次没成功(一般5次),则会在后台被锁定IP和账号,报错 "CTP:连续登录失败次数超限,登录被禁止",这时就只能重置密码了。simnow可以在网站右上方点击“忘记密码”重置,实盘请咨询相关期货公司客服。
2)
行情并不检查密码,所以不会出现这个错误。所以别以为行情登录成功密码就没问题。
3)
simnow 7*24小时环境的账号需要过一个工作日才会生效,所以刚注册好simnow账号便登录7*24小时环境会出这个错。