自己做量化交易软件(11)通通量化AI框架的核心–框架结构

自己做量化交易软件(11)通通量化AI框架的核心–框架结构
既然我说了要开源通通量化AI框架,就算大家得到了代码,也不清楚怎么去改进和修改。因此我在最后完善框架的空闲,逐步介绍框架的核心设计思想,大家也会明白要改进功能,去那里修改。
一、程序的目录结构
通通量化有3个目录,都需要放在根目录中,例如:D盘跟目录.
d:py36 py36的运行和开发系统
d:ttdata 各种tt数据
d:tt tt模块和主运行程序.
其中tt目录中存放用户回测程序和画面定义程序
d:ttview 用户自定义窗口和画面模板
d:ttuser 用户各种程序,包含回测程序

程序能够独立运行后,可独立运行.把tt.exe发送到桌面快捷。
d:tttt.exe

第一次使用,要运行一次py36,如果运行成功.就可以运行tt.exe程序了

二、程序的功能结构
首先,程序设计分为面对过程和面对对象。
面对过程讲究自顶向下,逐步求精的设计思想。因此程序设计过程非常简单,通通量化软件设计初期采用了这个设计思想。因此很多功能、模块、函数都是独立存在于不同py文件中。对于这些模块函数的引用,设计初期不懂import的完全作用。使用了这样的用法from HP_global import * ,后来发现这样会出现同名函数的混乱。又改为这样使用import HP_global as g,最后明白了import命令的真实用法。对于通通量化软件框架中,两种形式都存在,因为重新修改写代码需要时间,我后面会逐步进行规范统一。
对于这个文件HP_formula.py的使用,大家必须这样写:from HP_formula import *
这个文件包含了很多通达信公式的基础函数,例如MA(),HHV()等等,如果不这样写,通达信股票指标公式移植写起来很麻烦。

上面看到,KDJ指标跟通达信指标写法相近,否则要使用别名,例如import HP_formula as gs,指标公是就要写D=gs.SMA(K,M2,1),这样使用就很麻烦了。其他HP的py文件,大家都要加别名,别名自己任意取名。
通通量化软件其中一个定义全局变量的HP_global.py文件,只能固定这样写:import HP_global as g,否则你的回测程序就像断了线的风筝,飞跑了。

上面给出了HP_global.py部分全局变量的定义。
#用户程序开始都必须写下面一条命令,这样用户程序就有接管通通量化软件的全部权限和控制改变通通量化软件的能力。
import HP_global as g
其中控件结构顺序 g.G_root -〉 g.tabControl -〉g.tab1
如果用户想在主框架顶级弹出窗口,可以使用g.G_root,如果想增加新的g.tab7,就可以引用 g.tabControl.
下面是一个用户自定义的显示2个K线图的模板程序。程序存放位置:tt/view/用户新窗口2.py

上面用户自定义画面的运行结果如下图:

总而言之,言而总之。你想在window中显示什么画面,就引用上面的Frame类画面。
尽管我使用了大量类来写通通量化AI框架的代码,不过这些类都是一个局部小控件,小功能而已。
通通量化AI框架是以面对过程设计为主体思想,这就是我说的“积木”堆积思想。但是每个小积木,又是采用面对对象设计思想,进行封装。在你的改进代码,回测代码使用中,到底使用面对对象是是面对过程想怎么用,就怎么用。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月1日
下一篇 2018年10月1日

相关推荐