• 关键问题
  1. 主要构架

VB编程连接CTP API实现交易部分,并调用Autoit编译的各个功能模块,实现其他辅助功能。除了订阅需要的即时行情以及发单,尽量减少与CTP的通讯,提高程序稳定性。各个辅助功能单独编程实现,互不干扰,并且不影响主程序。

 

  1. 实时文华商品指数的获取

通过CTP即时行情计算。算法为持仓量加权。

 

  1. 实时均线数值的获取

通过均线递推算法,只要有N-1的均线值和第N天前的收盘数据(需要剔除的数据),以及最新的价格,就可以计算实时均线数值。需要的之前数据每日盘后通过Autoit自动从文华财经记录到硬盘TXT文件,供下日使用。

 

  1. 盘后记录的内容

每日盘后通过Autoit自动从文华财经记录指定数据到硬盘TXT文件,包括当前持仓合约代码、数量、方向,以及计算下日均线需要的递推数据。

 

  1. 交易逻辑

读取昨日收盘记录的持仓方向作为初始持仓方向,计算实时文华商品指数和均线,给出当下应该的持仓方向,收盘前指定时间做比较,如不一致,自动发单反手。

 

  1. 监控和查询功能

被动功能:

定间隔时间,发送当日接近反手位置的品种相关信息到手机。

自动交易后发送相关信息到手机。

第三放监视交易服务器网络,断线通知到手机。

各种帐户信息异常报警。

 

主动功能:

手机查询当日各品种涨跌幅度和帐户信息。

手机查询所有品种实际持仓方向与理论方向是否一致。

 

被动功能接收短信,主动功能通过手机发送命令到服务器的CMD获取回显即可, GPRS网络下流畅完成。

 

  1. 异常情况的人工介入

通过手机的3G网络连接服务器远程控制,如果是服务器网络异常,则手机启动Amazon EC2服务器,进行远程控制。

 

  • 其他

本来最近在研究TC+MC的日内自动交易,但是做着做着也去完善了一下以前的CTP程序。刚巧今天张力说他们公司已经有用CTP系统了,觉得盯收盘的帐户非常容易自动交易,就仔细考虑一下,发现上面列的关键问题中软件已有现成程序,硬件也已经具备,确实可以使用。直连CTP交易好处是不用额外的软件使用费用,而且自己编的程序更放心,缺点是一些复杂的分析和功能自己水平实现不了。但是我觉得这样不错,主要的日线帐户用自编程序在低手续费下自动交易,日内帐户在手续费稍高的高级的软件平台里分析和自动交易。把自己的精力充分解放到基本面分析、广泛品种间寻找机会、资金调度等更抽象的问题上去。貌似虽然半年没学习,但是2012实现可靠的自动交易还是有希望的么。看到本文的同道如果能提一些我未考虑到的自动交易的要点,不胜感激。如有疑问也可联系我。

说点什么