超级网格使用说明

下面是商品期货程序化网格套利系统的一些重要事项及使用说明,本页会根据用户在使用过程中遇到的问题及时更新,请查阅。

1. 套利系统运行在云端,推荐使用上海的阿里云服务器,延时最少,点此购买:阿里云服务器大礼包。1核1g就够用,地域选华东2,系统选Ubuntu 16.04 64位,安全组里把80端口选上。

2. 套利系统分三个部分,后台行情模块marketSrv,后台交易模块tradeSrv,策略程序supergrid.py,可用ps -au查看运行情况。

3. 套利系统默认放在/root/supergrid/目录,执行操作前先进入目录cd /root/supergrid/bin/。

4. 使用前先在etc/config.ini里面配置账号,env = dev为SimNow模拟账号,env = online为期货公司交易账号,修改之后需用./startService.sh重新运行后台交易模块。

5. 系统只接收常用的主力合约行情,如要获取更多行情,把需要的合约代码加在网页配置选项config里面的iids里,修改之后需用./startService.sh重新运行后台交易模块。

6. 添加新的交易对可用phpMyAdmin在strategy里面添加(模拟和实盘数据是独立的),盘中添加后用./restart.sh重新运行策略程序才能生效。

7. 配置选项可用phpMyAdmin在options里面修改,盘中修改后用./restart.sh重新运行策略程序才能生效。

8. 邮件通知需要先在配置(options)里面设好邮箱,发件使用163邮箱,其中的密码不是邮箱密码,需要去设置里面申请授权码。

9. 配置选项里面的riskLimit不能设得太高,以免产生爆仓风险,为了保证效率程序下单后不等后台返回可用资金就会继续运行,如果同时有几个组合满足开仓条件会连续下单而不能根据新的可用资金做限制开仓,设riskLimit时要留好可用资金的余量。

10. 策略程序的运行依赖数据里的网格及持仓数据,如有手动下单并成交需要修改数据库里的持仓量,并用./restart.sh重新运行策略程序,否则会出现重复下单等情况。

11. 模拟盘和实盘的数据是独立,模拟盘用ctp_trade_dev里面的数据,实盘用ctp_trade_online里面的数据,如果模拟测试完后需要把模拟盘里面的数据直接复制到实盘,可用导出和导入功能,注意需要把持仓数据改为0。

12. 程序实盘运行前要要仔细检查数据,每次修改都要认真核对,以免造成损失。如果要验证各组合的下单点位,可以把575行“#return False”的“#”去掉,这样程序就不会发出下单指令。

13. 运行策略程序前先用./startService.sh启动后台交易模块(如果策略程序在运行先用./stop.sh停掉),用./ctpService status可以查看后台交易模块的状态。开盘前会自动运行。

14. 用./start.sh可以运行策略程序,开盘前会自动运行。

15. 用screen -r supergrid查看策略程序输出的信息,需要重启程序等操作必须用Ctrl+A+D退回到命令行,否则窗口被占用会失败。

16. 盘后修改组合数据交易时间会生效,盘中修改数据需要重新运行策略程序才能生效,执行这两步:
cd /root/supergrid/bin/
./restart.sh

17. 如果套利系统运行的过程中也手工交易了组合持仓的品种,成交后需用./restart.sh重新运行策略程序,否则有可能出现持仓数据不对引起程序出错。

18. 服务器重启后,需要按顺序执行下面步骤套利系统才能正常运行,前三步必须,后两步可选(开盘前会自动运行):
cd /root/supergrid/bin/
screen -dmS service
screen -dmS supergrid
./startService.sh
./start.sh

补充说明:
1. offerLevel1 ~ level4Contracts几项用来控制滑点及成交,使用中需要根据交易的合约的实际成交量来修改。

2. 碟式套利会下一正一反两个套利单,可交易同品种也可交易不同品种(同品种写3个合约不同品种写4个合约),因为涉及合约较多,为了保证成交设的滑点比普通组合大一些,实际滑点也会比普通组合稍大,设置网格时留点滑点量。

3. 碟式套利一般都按1:1计算差价及下单,只有pp-MA按1:3计算差价2:3下单(order_ratio填2:3),m-c按1:2计算差价及下单(order_ratio填1:2),如有其它特殊比例的组合可联系补充。

4. 交易时段如果在模拟盘和实盘之间切换,由于持仓信息没更新会出现开仓平仓状态不对的情况,需要留意,正式实盘交易后不建议相互切换。另外,切换后一定要用./startService.sh重新运行后台交易模块,否则还会交易在上一次登录的账户里。切换后为了避免持仓信息的影响,建议盘后切换并执行如下操作清空旧的持仓数据:

运行redis-cli进入redis的命令行,接着执行select 1以及flushall,然后用exit退出。

5. 用套利指令下单不会有滑点,有时邮件通知里面有滑点是由于没及时取到成交价,以实际成交为准。普通下单也会出现由于没及时取到成交价造成邮件通知里滑点偏大的情况,以实际成交为准。

6. 程序出现异常或单腿成交的情况会收到邮件通知,到时查看一下。

7. 远程登录可用putty,编辑账号等信息会用到vi,如不熟悉可以先学习一下:
http://man.linuxde.net/vi

8. 模拟测试结束后用passwd修改操作系统密码,另外用下面步骤修改mysql密码(也就是phpMyAdmin登录密码):
运行mysql -u root -p输入密码进入mysql命令行,执行下面指令(其中的123456为新密码):
set password for root@localhost = password(‘123456’);
然后执行exit退出mysql命令行。