乐趣区

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

程序的目录构造

统统量化有 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)

退出移动版