币安欧意交易所合约跟单软件系统开发源码详情

发布于:2023-03-20 ⋅ 阅读:(1155) ⋅ 点赞:(0)

程序的目录结构

通通量化有3个目录,都需要放在根目录中,例如:D盘跟目录.

d:\py36 py36的运行和开发系统

d:\ttdata 各种tt数据

d:\tt tt模块和主运行程序.

其中tt目录系统I34-开发I633-源码53I9中存放用户回测程序和画面定义程序

d:\tt\view 用户自定义窗口和画面模板

d:\tt\user 用户各种程序,包含回测程序

spyder软件开发命令,通通量化AI框架主程序tt_main.py

d:\py36\py36.bat #python代码开发调试编辑环境。发送到桌面快捷。

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

d:\tt\tt.exe

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

程序的功能结构

首先,程序设计分为面对过程和面对对象。

面对过程讲究自顶向下,逐步求精的设计思想。因此程序设计过程非常简单,通通量化软件设计初期采用了这个设计思想。因此很多功能、模块、函数都是独立存在于不同py文件中。对于这些模块函数的引用,设计初期不懂import的完全作用。使用了这样的用法from HP_global import * ,后来发现这样会出现同名函数的混乱。又改为这样使用import HP_global as g,最后明白了import命令的真实用法。对于通通量化软件框架中,两种形式都存在,因为重新修改写代码需要时间,我后面会逐步进行规范统一。

对于这个文件HP_formula.py的使用,大家必须这样写:from HP_formula import *

-- coding: utf-8 --

用户自定义显示2个K线图的模板

用户新窗口2.py

import tkinter as tk

import HP_global as g

import HP_data as hp

from HP_view import * #菜单栏对应的各个子页面

系统设定了g.tab1--g.tab9,系统只是用了g.tab1--g.tab6

控件结构 g.G_root -〉 g.tabControl -〉g.tab1

增加tab,用add()

删除tab,用forget()

当然用户可以设置更多的tab窗口。必须使用全局变量g.变量名

重复建立新tab窗会出错,所以我们先检测是否None,不是就先做删除旧tab窗口。

if g.tab7!=None:

g.tabControl.forget(g.tab7)

g.tab7=None


用户自建新画面

g.tab7 = tk.Frame(g.tabControl)

g.tabControl.add(g.tab7, text='用户新窗口')

新设全局变量

g.frame_a=tk.Frame(g.tab7, bg = 'blue',width = 500, height = 320)

g.frame_a.pack(side=tk.TOP, fill=tk.BOTH, expand=1)

g.frame_b=tk.Frame(g.tab7, bg = 'red',width = 500, height = 320)

g.frame_b.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=1)

读取数据源,并显示K线图

df1=hp.get_k_data('600088',ktype='D',start='2018-01-01',end='2018-08-31',index=False,autype='qfq')

df2=hp.tstojq(df1)

g.plot_a = plotFrame(g.frame_a,df2,'600088','KDJ')

g.plot_a.pack(fill=X)

df3=hp.get_k_data('600619',ktype='D',start='2018-01-01',end='2018-08-31',index=False,autype='qfq')

df4=hp.tstojq(df3)

g.plot_a = plotFrame(g.frame_b,df4,'600619','MACD')

g.plot_a.pack(fill=X)


网站公告

今日签到

点亮在社区的每一天
去签到