金字塔决策交易系统初级教程新版文档格式.docx

上传人:b****6 文档编号:16246088 上传时间:2022-11-21 格式:DOCX 页数:121 大小:6.28MB
下载 相关 举报
金字塔决策交易系统初级教程新版文档格式.docx_第1页
第1页 / 共121页
金字塔决策交易系统初级教程新版文档格式.docx_第2页
第2页 / 共121页
金字塔决策交易系统初级教程新版文档格式.docx_第3页
第3页 / 共121页
金字塔决策交易系统初级教程新版文档格式.docx_第4页
第4页 / 共121页
金字塔决策交易系统初级教程新版文档格式.docx_第5页
第5页 / 共121页
点击查看更多>>
下载资源
资源描述

金字塔决策交易系统初级教程新版文档格式.docx

《金字塔决策交易系统初级教程新版文档格式.docx》由会员分享,可在线阅读,更多相关《金字塔决策交易系统初级教程新版文档格式.docx(121页珍藏版)》请在冰豆网上搜索。

金字塔决策交易系统初级教程新版文档格式.docx

若碰到双年份合约则连续代码为AAX13,例如白糖(SR)为双年份合约,其连续代码为SRX13。

2.2全推数据

金字塔的所有内置行情数据服务器均为全推数据,历史数据补充采取点播模式,既实时动态行情采用全推模式。

服务器分为期货,股票,期权、外汇。

用户连接对应行情服务器后,行情中心会推送该分类中所有品种的实时行情数据至本地。

股票、期权默认全推1档买卖盘数据,使用5档买卖盘的用户请用”工具-数据补充-行情订阅”功能。

2.3基础数据格式

金字塔有5种基础周期数据,其他数据皆由基础数据合成,具体规则如下:

(1)分笔数据

当天的所有周期数据(除日线外)都是由分笔数据(Tick数据)生成。

历史分笔数据可用于生成多笔线、多秒线。

到了第二天,即使本地有昨天的分笔数据,昨日的分笔数据不再生成历史的各周期的K线,此时历史的各周期K线由相应的1分钟、5分钟、日线历史数据生成,与分笔无关。

相应周期的数据需要用户自己补充,24小时不关机的用户,请执行下文中“收盘”操作。

(2)5秒K线

生成5的整数倍秒周期数据。

如:

10秒K线、15秒K线、20秒K线。

(3)1分钟数据

生成非5整数倍的分钟数据,如:

3分钟K线、7分钟K线。

(4)5分钟数据

生成5的整数倍的分钟、小时数据。

10分钟K线,1小时K线,3小时K线。

(5)日线数据

生成日线及日线以上周期数据。

2日线、3日线、月线。

2.4数据存储

✧数据存储范围

在‘’工具-选项-维护‘’我们可以对应设置相应周期的数据存储长度。

为了保证效率,金子塔默认的存储周期很短,用户可自己调整。

但盲目设置过大的存储周期会导致金字塔运行缓慢。

✧数据存储路径

金字塔的数据存放在软件安装根目录WeistockSoft下的Data目录中(如下图)

✧收盘操作

若您进行24小时全自动交易(连续多日不关闭金字塔),那么需要进行收盘操作,收盘的目的是将当日的分笔数据,转化为各周期的历史数据,若不明白,请看上文个周期数据中分笔周期的说明。

手工收盘

打开“工具-数据管理-数据管理器”,选择要执行收盘的市场,保存的基础数据类型后,点击执行收盘即可。

收盘完成后当日基础周期数据会保存在用户本地。

用户手工收盘前请保证当日分笔数据的完整性,盘中未出现行情中断。

若盘中打开软件用户需使用历史数据下载功能补充当日分笔成交数据后执行收盘

自动收盘 

菜单栏“工具-选项-维护”可以设置自动收盘时间。

自动收盘的意义:

将当日的分笔数据生成当天各标准周期的历史数据,即为自动手动收盘操作。

Ø

小技巧

对于24小时全自动交易的用户,我们就可以通过自动收盘操作保证当天各品种和周期数据的完整性。

不用担心第二天的数据缺失。

2.4实时行情接收

在”工具-启动接收”用户可打开行情连接界面如下:

对应服务器分为期货,股票,外盘外汇。

用户可根据自己本地的网络,要交易和分析的品种连接相应行情服务器。

如交易期货只需连接期货行情服务器,连接完成后即可接受所有国内期货品种实时行情数据。

根据用户的实际需求,目前期货服务器推送24个常用的股票指数数据,具体请连接期货服务器后,在中金所板块下查看。

2.5历史数据下载

通常情况下,打开交易品种的K线图,软件会自动补充该品种当前周期3天左右的数据。

例如看IF00五分钟周期,软件会自动把昨日的历史5分钟数据补齐。

但不同周期、品种的数据,需通过“工具—数据补充”进行历史数据补充。

(当日的各周期数据每日19:

00提供下载。

这里特别申明“数据选项”处选择补充分笔成交数据只能补充当日的,历史分笔数据需用到对应的历史分笔数据下载项。

历史数据补充步骤

<

1>

菜单栏“工具-数据补充”打开数据补充窗口

2>

数据补充窗口——批量补数据界面

该界面用户可以直接补充相应市场的历史各个周期数据

补充步骤

i、选择周期

ii、选择补充市场

iii、选择补充时间段

iv、点击【开始补充】按钮

用户补充数据之前需先连接对应的行情服务器(如补期货数据,连接期货服务器).

下载的数据会保存在用户本地,下载后下次无须重复下载。

3>

若用户交易和分析的品种有限,那么每次补充选择过程过于繁琐,或者补充几个品种的数据。

这时,您可以选择自定义补数据功能,您可以新建日常方案,选择此方案后添加日常需要补充数据的品种和周期,选择时间后直接点击开始补充。

参考下图(此法比较快捷但缺少灵活性)

数据补充窗口——自定义补数据界面

该界面用户可以补充单个品种或者不同市场多个品种的各周期数据

i、添加品种

ii、选择品种与相应周期

有的用户担心自己下的历史数据没到位或者不放心想验证下具体周期数据本地是否已经补充齐全,这种情况下用户可在品种界面鼠标右击,查看本地对应的周期数据长度(如下图,查看本地的数据,看是否齐全)

2.6数据导入

目前金字塔仅支持TXT文本格式和系统格式数据的导入。

✧系统格式(.DAD)数据导入步骤

步骤1:

打开"

工具-数据管理-数据管理器"

步骤2:

打开后,切换至"

导入数据"

界面,选择导入数据的格式、市场、数据类型、本地数据文件件路径。

步骤3:

设置完成后,点击"

执行安装"

按钮,系统就会自动导入数据至软件。

✧TXT格式数据导入步骤

TXT数据导入分为已有品种代码的数据导入和其它品种的数据导入2部分:

已有代码TXT数据导入流程

在TXT、CSV中输入数据

导入金字塔的数据必须至少有开高低收成交量这5个数据(csv同理)

编辑TXT(CSV)文件名

导入的数据属于哪一个品种,在金字塔中是由TXT的文件名决定的。

TXT的命名方式为市场代码+品种代码

市场代码和品种代码可通过工具—>

数据—>

数据管理器—>

代码对照获取。

以上图为例,若导入中金所股指连续的数据。

TXT的文件名就应为ZJIF00.TXT(ZJIF00.CSV)。

若导入纽约商品交易所美原油连续的数据,TXT的文件名就为NMCL00.TXT(NMCL00.CSV)。

导入设置

导入的菜单在工具——数据——数据管理

1、数据格式选择:

以文本格式

2、点开文本格式设置如下图:

这里要注意:

(1)设置TXT文件中数据对应的项。

(2)TXT数据若是从EXCEL里复制过来,请选择制表符为分隔符。

(3)CSV数据,需将某人的文件后缀改为CSV,并选择逗号为分隔符。

3、输入路径:

金字塔支持多个文本文件同时导入,所以此处的路径为文件所在上一级的文件夹,而不是文件路径。

例:

我要同时导入上文中ZJIF00,NMCL00的5min数据,则将此文件放入同一个文件夹,通过路径指向即可默认为C:

\TXTMIN5。

4、安装方式:

清楚原先数据——删除品种原来所有的数据,仅保留导入的数据

本地原来有1年的数据,我新导入1个月了数据,最终只有导入的这1个月数据。

补充方式—保留品种原来的数据,再此基础上,加入导入的补充数据。

(查缺补漏)

本地原来有2011年的数据,但是不全,我导入新的这2011年数据,新的数据起查漏补缺的作用。

老数据缺失的,由新数据补充;

原数据不做替换。

追加方式——不论本地有没有数据,统一替换为新数据。

本地原来有2010-2012年的数据,我导入新的这2011年数据,则原有的2011的数据全部替换为新导入的数据。

5、选择相应的周期。

6、选择对应的市场

执行安装

到这一步,注意别点确认,点确认并没有执行导入,而应该点击执行安装按钮。

出现上图画面,说明数据导入成功。

其它品种TXT数据导入

除了金字塔本身提供的数据以外,用户还有很多其他的数据要求,比如基本面的数据、GDP的数据等等。

对于有计算机基础的人而言,通过SQL、VBA等实现这些非常的容易,但是对绝大多人而言就比较难了。

以股指仓差报告为例:

很多金字塔的用户做股指时,喜欢看股指前20持仓报告(后称仓差报告),更有甚者用仓差报告开发策略。

从数据本身看,仓差报告有别于商品期货,集合了整个IF市场70%-80&

的持仓,非常有价值。

我们利用“其他数据导入”和“引用跨周期函数”的功能,可以曲线实现在金字塔中显示仓差报告指标。

具体操作如下:

第一步:

工具——停止接受;

调成如下界面

第二步:

工具—>

代码对照—>

中国金融期货市场—>

新增—品种代码IFCC品种名称股指仓差。

第三步:

工具——市场与板块——中国金融期交易所——编辑

然后设成如下画面——重启软件。

此处IFCC是写死的,若某品种有多个合约,用户可根据自己的需求设置:

例如:

IFCC——IFZZ;

1A0001——1A9999等等.

第四步:

重启后——按IFCC

第五步:

之后的操作,参照上文的金字塔已有代码数据导入。

与其相同,不再赘述。

2.7数据删除

✧删除具体品种具体市场的周期数据

打开“工具-数据管理-数据管理器”选择整理数据,要执行删除的市场或,基础数据类型,勾选删除数据后点击执行清理即可。

若要删除单个品种或者几个品种的数据,点击加入个股处可选择具体删除品种。

✧批量删除大容量历史数据

前面我们说了金字塔的数据存储路径,安放在本地安装目录WeistockSoft下的Data目录中。

我们可以关闭软件,然后直接删除DATA目录下指定的市场文件,例如删除WeisoftStock\DATA\ZJ文件夹,则对应软件里面中金(ZJ)市场的所有周期数据都被我们清除掉。

非法关机,异常崩溃等情况使金字塔异常关闭可能会导致data目录下的数据文件损坏,

从而影响正常行情的接收或使历史K线数据紊乱。

碰到这种情况下我们的处理方法为:

方法一:

我们首先打开‘’工具-数据-数据管理器‘’,清除今日行情数据,重启软件后查开行情是否正常。

方法二:

若方法一无法解决问题,我们先关闭软件,打开软件安装目录下的Data,找到对应行情紊乱市场删除其市场配置文件report2例如D:

\WeisoftStock\DATA\ZJ文件夹下的report2文件(若用户无重要数据可直接删除data或DATA里对应市场文件夹,此法较快捷 

)重启后行情恢复正常。

以上方法针对行情接收异常,历史数据紊乱或明细错误现象可直接取方法二或使用数据删除操作。

2.8数据常见问题

Q:

明明补充了数据,但对应周期的K线图只显示当日或者一段时间的数据?

A:

先通过右键-数据查看对应的周期数据本地是否已经齐全,若不齐全则对应周期数据补充不完整,需重新补充。

本地数据长度足够,K线图显示时间过短。

影响K线图数据显示的设置分别如下,用户可自行检查下是不是启用了对应的限制数据量功能。

(1)勾选了对应显示限制

(2)设定了显示时段

(3)限制了显示的K线数量

第三章公式系统

在金字塔软件中,无论是技术分析、历史回测、程序化交易的实现,所有的计算都基于公式的运算。

所以,我们要学会如何建立自己的公式,编写自己的代码,本章将讲述相关具体步骤。

3.1公式类型

首先,在写正式代码之前,我们需要确定公式的类型:

通过菜单“交易”——“公式编辑器”(或快捷键Shift+W)我们可以在软件最左侧调出“管理面板”界面:

公式类型好比做菜的菜系,不同的菜系满足不同的口味,不同的要求。

(1)技术指标

实现对技术图表分析中各类技术指标和自我定义的技术分析指标的编写,并且通过金字塔决策交易系统的分析界面形成图表、曲线。

(2)交易系统

交易系统不仅能实现技术指标的功能,还能实现资金管理、风险管理的作用。

包括买入、卖出、止损止盈等等,非常直观的帮助投资者根据自己的想法建立一套属于自己的买卖规则和理论。

(3)条件选股

通常意义上的智能选股。

可以通过对该平台的熟练使用,借助计算机的高速和准确的检索功能寻找满足您的理解的股票形态和技术特征。

(4)五彩K线

准确讲,该编辑器的功能是附属于条件选股功能之上的,我们可以通过该功能将满足条件的连续K线形态赋予颜色,区别了其它的K线。

注意事项:

1、程序化交易主要使用技术指标和交易系统。

教程也将主要针对这两类进行详细介绍。

2、公式类型决定了公式的使用范围,除“交易系统”外,其他类型均无法实现程序化自动交易。

3.2新建公式

1)当我们确认需要编辑的公式类型后,在相应的类型下鼠标右击——新建公式,得到上图公式编辑器界面。

2)点击“新建公式”如下图

编辑已存在的公式

如果需要编辑、修改已存在的公式,选择需要修改的公式——鼠标右击——编辑公式

3.3保存公式

当我们的代码编写完成后,都需要点击“编译公式”。

以确认编写的代码没有问题。

若编译无问题,则软件会显示“测试正常”字样。

若有问题,则会指向编译出错的地点。

正常情况

出错示例

只保存而未通过编译的公式是不能够被调用的。

如下图,此公式不能正常使用。

3.4公式编辑器

公式编辑器各功能按键介绍

名称:

公式的名称,命名规则如下

(1)不区分大小写;

(2)不能超过32个英文字符,16个汉字;

(3)每一类公式不能出现相同的名称。

在技术指标分类下已经有一个公式叫做MACD,那么在该分类下无法再起另一个叫MACD的公式。

但是,在交易系统分类下可以。

快捷键:

给这个公式设置一个快捷键,可以在按键精灵中方便调出。

说明:

给公式写个简单的说明性文字(可不填)。

禁用周期:

设置公式在哪些周期上不允许运行。

公式测评:

进入公式测评界面。

买卖规则:

这个选项只存在技术指标中,可定义简单买卖规则,方便测试。

副图、主图、主图叠加:

决定公式在那个界面输入。

交易系统此项会不可选,只能在主图叠加

费率设置:

此项仅存在交易系统中,该选项可设置公式的虚拟资金、虚拟费率等。

详情将在交易系统编写详述。

这个选项可以打开公式编辑器中默认隐藏的函数列表。

编译公式:

当你的代码完成后,需要点击“编译公式“后方可执行。

只要代码发生变化,都需要重新编译。

3.5序列模式和逐K线模式

金字塔公式系统工作两种模式,即序列和逐K线。

序列模式下公式按照序列或者常数计算返回结果,整个执行过程只解析一遍公式系统。

这种模式的特点是能很快的计算出结果,但缺点也明显,无法处理例如加减仓等精细化控制,目前已极少用到。

逐K线模式:

运行是,策略从第1个K线直到最后一个K线逐个解析公式系统,每根K线都会解析整个公式系统一遍,返回值也只有数值类型这一种,故这种模式运行时效率要比序列模式低,但在此运行模式下的公式,可以使用各种更加灵活的控制语法。

仅刷最后一根K线:

这种模式是对逐K模式的优化,因为实时交易时,我们仅关心最后一根K线相关的数据是否正确,之前的计算结果一般情况下,无需再重复计算。

一般会默认勾选此项。

从发展的眼光看,图表程序化中的序列模式诞生于程序化交易的初期,满足了当时处理一些简单情况的要求,可无法满足加减仓等资金管理的要求。

目前,90%以上的公式策略运行在逐K模式下。

小提示:

建议大家不要纠结与运行模式,早期直接选择逐K【仅刷最后一根K线】即可,后续涉及效率以及后台程序化策略编写我们可以再了解序列运行模式。

控制语句不同模式下的运行特点

逐K线计算时,控制语句比如IFTHEN,FOR等语句工作机制是每周期都去执行一次,因此在逐K线模式下,可以利用这种灵活的模式来设计我们的策略,比如加仓、减仓、资金管理策略等等。

为了更能说明金字塔两种模式下的公式运行特点,让我们来看下例:

MSGOUT(1,'

测试'

);

代码就上面这样一行。

代码中的1代表逻辑TRUE,即100%成立(恒成立)。

我们将此代码在序列模式下运行,会发现消息窗口就输出了1条。

即代表公式运行了一次。

而将代码在逐k线模式后会发现,消息窗口输出了非常多条,数量应等于你本地该品种的数据量。

这代表公式在每根K线上都运行了一遍。

这就是两者的区别。

逐K线模式下数组转定义数组变量(初级用户可以先滤过)

逐K线模式下数组之间的转换与序列模式有所不同,序列模式因为是只执行一次解析返回的是序列变量,因此可以完成直接的数组拷贝,而逐K线则每根K线都回去执行一遍公式的解析,因此在数组之间的转换上也有不同,在执行相互之间转换时,金字塔采用的是只处理数组最后数据的方法,即在逐K线解析时,自动扩充累加数组元素,我们举例如下:

要求:

分别计算阳线和阴线收盘价10个数字的平均价,该需求需要我们分别定义2个数组来保存各自不同的价格,逐K线模式下的这种运行机制便正好可以满足我们的这个需要

RUNMODE:

0;

VARIABLE:

DOWN[]=0;

//定义一个空的数组,计算下跌的阳线收盘价,注意这里一定要置空数组用来保存数据

UP[]=0;

//定义一个空的数组,计算上涨阳线收盘价,注意这里一定要置空数组用来保存数据

IFCLOSE>

OPENTHEN

UP:

=CLOSE;

//将上涨K线收盘价插入数组UP中

ELSE

DOWN:

//将下跌K线收盘价插入DOWN数组中

A:

MA(UP,10);

B:

MA(DOWN,10);

//下面2行调试代码

DD:

UBOUND(UP),NODRAW;

//显示输出UP数组数据个数

SS:

UBOUND(DOWN),NODRAW;

//显示输出DOWN数组数据个数

注意:

通过上述的代码我们需要注意的是,UP和DOWN数组前面我们一定要置一个空的数组,这个空数组金字塔会在逐K线执行的时候去自动的填充我们的数据.

在逐K线模式下对数组的转换操作,应该避免在循环语句中使用,因为可能会导致循环对数组数据积累而导致计算出错

3.6了解变量

如果想用公式(程序)来控制你的交易,首先要了解一个很重要的概念——变量,它的基本功能是存储、读取数据。

在我们的生活中有各种容器。

比如,有放衣服的衣柜,有放食品的冰箱。

变量有相似的作用。

我们在公式的运用中,需要有一个容器去存储数据,这个容器在编程中叫做变量,容器的名字叫做变量名,容器中保存的数据成为变量值。

如:

收盘价:

close;

我们建立了一个叫收盘价的容器,要求里面保存收盘价这个数据。

上面公式中收盘价就是变量名,具体的数据close是它的变量值。

(close代表收盘价,后面会详述,此处读者只要理解即可)一般而言,在软件中,我们的变量是随着时间而改变(时间序列),比如close,在不同的时间,不同周期上,Close的值是不同的。

如下图所示

收盘价

这个容器中按时间顺序存储了一系列值。

语法规则:

●在软件中变量的命名需遵守以下规则:

●所有的标点符号必须在英文状态下

●变量名可以使用中英文,英文不区分大小写

●变量名不能超过32个英文字符,16个汉字

●每一个公式内部不能重复命名

每个容器都必须有一个独一无二的名字,否则电脑无法知晓到底需要的是哪个容器。

如上图,第一行已经命名了一个变量叫close1,之后代码中的变量就不能再起变量名叫close1。

但是我们可以给close1重新赋值,例如close1:

=close;

●变量名不能和系统保留字、系统函数等重名;

⏹软件里已经内定Close代表收盘价,那么就不能再起一个相同的名字命名这个容器(容器名)。

一般系统保留名会以蓝色显示,若发现变量名是蓝色就应该换一个名字。

如上图,第一行代码变量名close呈现蓝色,说明这是一个软件保留字,不能作为变量名。

第二行的变量名是个黑色,说明close1可以作为变量名。

●变量名与之后的算法以“:

”分隔,每个语句以“;

”结尾。

这个规则如同1+1=2。

为什么要用+和=号呢?

没有为什么就是这么规定的。

所以一个标准的变量赋值语句为

变量名:

含义;

“:

”“;

”不可缺少。

●常值变量

常量变量是一种特数据的变量,它一个永远不变的数值。

比如我们计算圆周,那么需要一个P=3.14,那么我们在编辑器中输入如下语句

p:

3.14;

定义常值变量后,在之后的代码编写过程中,我们需要用到这个值,直接使用P,而不再

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1