指标平台

指标平台的主界面如下图:

如上图所示,指定指标平台分为“使用说明”、“指标管理”、“速度测试”,“指标评价与参数优化”四种显示窗口。

 

指标管理

指标管理的主界面如下图:(它由自定义指标、自定义指标组、查找三部分组成)

自定义指标:

以下介绍在“自定义指标”界面中各按键的功能和用法。

目录管理自定义指标目录的管理项,下拉菜单中有三项子功能项,功能如下:

1.新建目录建立一个新组。组的功能主要是为了将各种类型的自定义指标进行分类,以便查找。

2.删除目录删除不需要的组。注意:删除后不能恢复。

3.目录定位该功能将为用户找到指南针自定义指标目录的Windows窗口。点击该菜单项后,系统将启动一个Windows的资源管理器。

 

文件管理自定义指标文件的管理项,下拉菜单中有三项子功能项,功能如下:

1.新建指标用于打开新建自定义指标的编辑对话框。

2.编辑指标此按键对已存在的自定义指标进行修改和进一步编辑的操作。

3.删除文件删除不需要或不理想的指标。注意:删除后不能恢复。

注:在指标名称前的方框内打钩代表加载此指标。

加密指标此按键对已存在的自定义指标进行只读加密或者是读写加密的操作。

    加密级别分为两级:只读加密和读写加密。

拥有“只读密码”的用户可以使用该指标,但是不能看到指标的内容,也不能改写指标的算法。

拥有“读写密码”的用户既可以使用该指标,也可以查看和修改指标的算法。

开始查找在下面的查找项中设置了查找条件后点击该按钮进行查找操作。

导出文件此按键对已存在的自定义指标进行备份存储的操作。

速度测试对所有自定义指标进行快速速度测试,仅对3只股票做计算。

 

自定义指标编辑对话框

指标编辑界面如下图:

以上界面中各按键的功能和用法如下:

加载指标——该按键被按下显示为“加载指标”,没有按下显示为“不加载指标”,当“加载指标”时,做完自定义指标保存后进行“行情计算”时直接参与计算,当“不加载指标”时,做完自定义指标保存后进行“行情计算”时系统将不计算该指标。

插入函数——在插入函数的界面中选中一个函数,点击插件按键后可以快速加入到“指标文本”框中。插入函数的界面如下:


预编译——当自定义指标编辑完成后先进行预编译,如果有语法或格式错误此系统会有报错提示,提示中会提示哪一行有错,直到预编译完成提示“成功编译指标”后才可以“保存退出”该指标。

保存退出——当“预编译”提示“成功编译指标”点击此按键保存并退出自定义指标编辑对话框。

取消编辑——当放弃编辑的时候用此按键退出自定义指标编辑对话框。

自定义指标编辑对话框中填写内容说明:

1.    指标名称

指标名称是用户为这个指标文件定义的名称,一般保存指标文件时,会把指标名称作为文件名。

2.    指标注释

用户可以写入自己认为必要的指标的注释,这部分不影响指标的使用和保存;

3.    默认数值

输入如果指标计算不成功时希望返回的指标数值,例如一个指标A计算时需要用到前一天的收盘价,则当计算K线中最早一天的指标A数值时必然失败(因为没有更前一天的收盘价),此时指标数值将会是用户设置的默认值。如果用户没有设置默认值,则指标平台将自动把默认值设为0

4.    输入参数

指南针自定义指标可以让用户在编写指标文件时定义一些可变的参数,同一个指标文件在参数不同时可以成为不同的指标。如指南针CYF系列指标,通过设置不同的参数可以有CYF5CYF13等指标。“输入参数”栏中应该填写在指标文本中代表参数的变量名,如:MPAR1PAR2、等等。如果需要定义多个输入参数,参数变量名中间应该用逗号(半角)分割。

5.临时指标

指南针自定义指标可以让用户在编写指标文件时定义一些指标,而该临时指标不作为自定义指标单独使用,只是在自定义指标中起作用。

6.    局部变量

在指标文本中,用户可以用局部变量存储计算时的中间结果,“局部变量”栏中应该填写在指标文本中代表局部变量的变量名,如:MVAR1VAR2、等等。如果需要定义多个局部变量,局部变量名中间应该用逗号(半角)分割。

7.    参数指标

参数指标是自定义指标需要用到的其他指标。用户在指标文本中用到的指标名称需要先在参数指标栏中声明,声明时应该写出指标文本中用到的指标的名称,如CYFCLOSE等。如果需要定义多个参数指标,参数指标名中间应该用逗号(半角)分割。

8.    结果指标

结果指标是用户编写的指标文件中能计算出来的指标。结果指标栏中应该填入这些能计算出来的指标的名称。一个自定义指标文件可以计算出一个或多个指标,所以结果指标可以有一个或多个。如果有多个结果指标,结果指标中间应该用逗号(半角)分割。

9. 指标文本

指标文本是自定义指标的计算代码。

 

指南针自定义指标语法

指南针自定义指标语法:

自定义指标的语法以语句为单位,每个语句都需要以“;(半角)结束。在自定义指标的语法中,有三种语句:赋值语句、条件跳转语句和循环语句。

注释部分

在自定义指标文本中,可以使用注释来标识某些语句的具体意义。注释以“//”开始到本行的结束。在指标文本窗口中注释以绿色字体显示。

指标的引用:自定义指标中需要引用其他指标。指标的引用分为两类:

1.    作为参数的指标引用(出现在等号右边的指标)

这类引用包括引用参数指标和结果返回指标。

引用参数指标时的一般形式是:指标名称[引用日期](参数列表)。引用日期是指需要引用当前天往前几天的指标数值,如果为0则表示引用当前天的指标数值,1则表示当前天往前1天的指标数值,依次类推;参数列表则标示所引用的指标的参数,如果所引用的指标没有参数则不能写该项,如果指标有多个参数,则中间用逗号(半角)分割。例如需要引用前两天的CYF22的值应该表述为:CYF[2](22);需要引用当前天的收盘价则是:CLOSE[0]或者CLOSE

引用结果返回指标的一般形式是:指标名称[引用日期]。注意此时不能有参数列表,因为指南针自定义指标的语法中默认引用结果返回指标时的参数列表就是“输入参数”栏中标识的参数列表。

2.    保存结果的指标引用(出现在等号左边的指标)

这类引用只能是引用结果返回指标。而且引用时只能出现结果返回指标的名称,不能出现引用日期和参数列表,一般形式是:指标名称。

赋值语句

赋值语句的语法非常简单,没有关键字。型如“a = b + c”的语句都是赋值语句,赋值语句中的“加、减、乘、除”分别用“+、—、*/”表示 (注意都是半角的)

条件跳转语句

条件跳转语句有4个关键字:IF (表示如果)THEN (表示则)ELSE (表示否则)ENDIF (表示条件语句结束)。条件跳转语句的形式是:

IF 条件

       THEN

              语句1;

              语句2;

              ……

       ELSE

              语句1;

              语句2;

              ……

       ENDIF

“条件”的形式是型如 a > b”、“a < b”、“a = b(注意这里的“=”是相等而不是赋值的意思),也可以用与和把简单条件串连起来,型如:“(a > b) & ( b > c)”、“(a = b) | (b < c)”。

“语句1”、“语句2”可以是任何语句,包括赋值、条件跳转或者循环语句。

注意条件跳转语句必须包含“THEN”分支,但是可以没有“ELSE”分支,型如:

IF 条件

       THEN

              语句1;

              语句2;

              ……

       ENDIF;

    循环语句

循环语句有3个关键字:LOOPBEGIN (表示开始循环)LOOP (表示返回上一个LOOPBEGIN处继续执行)BREAK (表示结束循环)。循环语句的一般形式是:

       LOOPBEGIN

              语句1;

              语句2;

              ……

       LOOP;

循环语句一般是在满足一定条件时退出循环,所以循环语句一般都需要和条件语句组合使用,型如

LOOPBEGIN

              IF   条件

              THEN   BREAK;

              ENDIF;

              语句1;

              语句2;

              ……

LOOP;

一个例子

下面结合ABCR指标说明指南针自定义指标的语法。

指标名称:ABCR

指标注释:(空)

默认值:0

输入参数:M

局部变量:V1, V2, V3, V4, V5, V6, AV, I

参数指标:开盘价, 高价, 最低价, 收盘价

结果指标:AR, BR, CR

指标文本:

———————————————————

V1 = 0;

V2 = 0;

V3 = 0;

V4 = 0;

V5 = 0;

V6 = 0;

I = 0;

开始循环;

              如果     I = M

              结束循环;           ////////////////////////////哈哈

              结束如果;

V1 = V1 + 高价[I] — 开盘价[I];

V2 = V2 + 开盘价[I] — 最低价[I];

              如果      高价[I] > 收盘价[I+1]

                 V3 = V3 + 高价[I] — 收盘价[I+1];

              结束如果;

              如果      开盘价[I] > 收盘价[I+1]

                 V4 = V4 + 开盘价[I] — 收盘价[I+1];

              结束如果;

              AV = (高价[I+1] + 最低价[I+1]) / 2;

              如果      高价[I] > AV

                     V5 = V5 + 高价[I] — AV;

              结束如果;

              如果      AV > 最低价[I]

                     V6 = V6 + AV — 最低价[I];

              结束如果;

              I = I + 1;

循环;

AR = V1 / V2;

BR = V3 / V4;

CR = V5 / V6;

———————————————————

文本的开始是7条赋值语句,分别把7个局部初始化为0

V1 = 0;

V2 = 0;

V3 = 0;

V4 = 0;

V5 = 0;

V6 = 0;

I = 0;

接下来是一个循环体,这个循环体一直到I等于参数M时结束

开始循环;

如果  I = M

则结束循环;////////////////////////////哈哈

结束如果;

……

循环

在循环体中有4条赋值语句和5条条件判断语句我们举例说明:

V1 = V1 + 高价[I] — 开盘价[I];

是说把当前天往前第I天的高价和开盘价的差值加到局部变量V1中。

V2 = V2 + 开盘价[I] — 最低价[I];

是说把当前天往前第I天的开盘价和最低价的差值加到局部变量V2中。

如果  高价[I] > 收盘价[I+1]

   V3 = V3 + 高价[I] — 收盘价[I+1];

结束如果;

是说如果当前天往前第I天的高价大于第I+1天的收盘价,则把当前天往前第I天的高价和第I+1天的收盘价的差值加到局部变量V3中。

AV = (高价[I+1] + 最低价[I+1]) / 2;

是说把前天往前第I+1天的高价和最低价的平均值赋给局部变量AV

I = I + 1;

注意,这句话是让局部变量I1,这句话是控制循环的次数用的,如果没有这句话,指标将会变成死循环,无法退出。

最后是三句赋值语句,分别给三个结果返回指标赋值。

AR = V1 / V2;

BR = V3 / V4;

CR = V5 / V6;

 

指标组编辑

自定义指标的界面如下图:

 

文件管理自定义指标文件的管理项,下拉菜单中有三项子功能项,功能如下:

1.新建指标用于打开新建自定义指标组的编辑对话框。

2.编辑指标此按键对已存在的自定义指标组进行修改和进一步编辑的操作。

3.删除文件删除不需要或不理想的指标组。注意:删除后不能恢复。

注:在指标组名称前的方框内打钩代表加载此指标组。

 

自定义指标组编辑对话框

指标组编辑界面如下:

以上界面中各按键的功能和用法如下:

加载——该按键被按下显示为“加载”,没有按下显示为“不加载”,当“加载”时,做完自定义指标组保存后可直接进入图线分析调出该指标组进行分析。当“不加载”时,做完自定义指标组保存后进入图线分析不能调出该指标组(好像该指标组并不存在),只有在"加载"之后才可看到该指标组。

      加入——把当前编辑的指标加入指标组。

      修改——重新编辑当前指标组中一个选定的指标项。

      删除——删除当前指标组中一个选定的指标项。

      上移——向上移动当前指标组中一个选定的指标项。

      下移——向下移动当前指标组中一个选定的指标项。

      确定——保存当前编辑的指标组并退出。

      取消——放弃当前编辑的指标组退出。

 

自定义指标编辑对话框中填写内容说明:

1.  指标组名称:

指标组名称是用户为这个指标组文件定义的名称,一般保存指标组文件时,会把指标组名称作为文件名。

2.  指标组注释:

 用户可以写入自己认为必要的指标组的注释,这部分不影响指标组的使用和保存。

3.  坐标线类型:

此为设置坐标线,设置坐标线类型为默认坐标线、绝对坐标线、相对坐标线这几类,并且可以在下面的空白框中填写备注及说明性文字。

4.  指标下拉框:

用户可以在指标下拉框中选择需要加入指标组的指标。如果指标需要参数,下拉框中的指标项会自动加入括号,用户在选择后还需要设置指标参数的具体数值。如主图中选择了CCI_CCI指标,这个指标有一个参数,用户需要手动设置这一个参数的具体数值。

5.  前缀和后缀:

    前缀和后缀声明在K线窗中显示该指标组时的指标数值提示。例如主图中CCI_CCI的前缀和后缀分别是“[”和“]”,则在K线窗中的指标数值提示是“[指标数值]”。如果前缀和后缀都为空则在K线窗中显示指标图线时不给出指标数值提示。

6.  指标颜色:

设定在K线窗中显示该指标时的颜色。

7.  下面空白框的显示内容:

    显示已加入指标的显示类型、指标与提示行、正色、负色等

 

指标显示类型

指南针自定义指标组中,支持4种指标显示类型:同色线状指标、K线状指标、异向柱状指标和同向柱状指标。

 

同色线状指标:

同色线状指标的设置界面如下图:


同色线状指标中有一个指标,这个指标在K线窗中以线状显示,只有一种颜色。

 

K线指标:

K线状指标的设置界面如下图:


K线指标一共有4个指标,分别代表K线的开、高、低、收。指标的表现形式如K线,指标的正值颜色标示开大于收的颜色,负值颜色代表开小于收的颜色。

 

异向柱状指标状指标:

异向柱状指标的设置界面如下图:

 

异向柱状指标和同向柱状指标中均只有一个指标,在K线窗中显示时分别是同向柱状线和异向柱状线(如CYW)其中正值颜色和负值颜色分别是指标数值大于0和小于0时的颜色。

 

同向柱状指标:

同向柱状指标的设置界面如下图:

 

 

特殊标记:

特殊标记图线类型主要用于实现类似出击提示的效果,特殊标记图线的设置页界面如下:

主要设置:

  1. 选择指标

  当选择的指标数值大于等于1时,出现特殊标记,如果小于1,则不显示特殊标记。

  2. 设定特殊标记显示位置

  特殊标记可以显示在K线上,也可以显示在指标线上;可以显示在指标数值位置的上方,也可以显示在下方。

  当设定显示在K线上时,如果指标组处于指标窗单独显示状态,则不显示特殊标记;如果指标组处于K线叠加状态,则在K线上的相应位置(由设定的“上方”或者“下方”决定)显示特殊标记。

  当设定显示在指标线上时,如果指标组处于指标窗单独显示状态,则在指标数值位置显示特殊标记;如果指标组处于K线叠加状态,则还是在K线上的相应位置显示特殊标记。

具体使用时可以点击"关于位置设置的解释"按钮获得帮助:

3. 设定显示内容

  特殊标记的类型分为图标和文字,显示的图标可以通过下拉窗口选择,文本则由用户输入。

  4. 设定特殊标记颜色

  这部分和指标组其他部分的颜色设定步骤类似。

 

基本信息如下图:

    此为设置坐标线,设置坐标线类型为默认坐标线、绝对坐标线、相对坐标线这几类。

 

查找—通过目标类型、查找项目、字符串等查找条件进行查找自定义指标或自定义指标组,查找界面如下所示:

 

速度测试—是用指标速度测试提高指标计算速度

  自定义指标的代码越复杂,计算速度就越慢。而那些实现复杂、计算速度极慢的自定义指标是系统速度的瓶颈。找到这些指标,对指标代码进行优化,甚至在必要情况下加载这些指标,往往可以极大提高系统速度。而自定义指标平台中的“速度测试” 功能则是找到这些“龟速指标”标的利器。

  可以在“速度测试”功能中的“添加指标”中加入一个或者几个指标,但是最方便的方法是使用“添加指标”中的“所有自定义指标”按钮,加入系统中的所有自定义指标进行测试,虽然测试速度会慢一些,但是可以对自己的所有自定义指标的速度有一个综合了解,能够更好地做取舍。

  速度测试界面如下图所示:

以下介绍在“速度测试”界面中各按键的功能和用法。

  添加指标:要想进行速度测试首先点击添加指标,添加进要进行速度测试的指标,界面如下:

在选项单中可以选择一个或多个指标,选择完毕后点击确定,选项单下有专门的选择“所有自定义指标”按钮,选择完的指标直接添加到测试指标列表中,如下图所示:

删除指标:对某个指标或多个指标不想参加速度测试时,在测试指标列表中选中该指标点击删除指标(此删除只是从测试指标列表中删除指标名称并不是真的删除了该指标)。

保存列表:把测试指标列表进行保存的操作。

导入列表:把已经保存的测试指标列表导入进平台。

历史记录:调出历史测试记录进行分析。

开始计算:选择完毕后点击开始计算进行运算。

功能键下面还有两个选项分别为(可以一起选择,也可以分别选择):

  单日计算速度测试—计算给定板块中所有股票的一天的数据;

  多日计算速度测试—计算给定板块中所有股票所有交易日的数据。

下面还可以进行选择测试板块,如果希望加快测试速度,可以选择股票数量较少的自定义板块。

 

指标评价与参数优化

单一指标评价与参数优化

单一指标评价与参数优化界面如下:

指标评价功能相当于一个简单的鬼指标数值在某个范围时买入,符合一定的条件时卖出。

  参数优化则可以同时对一个指标的多个参数进行指标评价。指标的多参数输入方法有两种:1)用空格分割,例如上图CIKDJ_D的第一个参数。用空格分割时,可以输入任意多个希望评价的参数数值,每个参数数值用一个或者多个空格分割即可,上图中第一个参数一共有3种可能取值:89102)用“起始值 : 步长 : 终止值”的格式输入,例如上图CIKDJ_D的第二和第三个参数。此时参数的取值个数是:

  ((终止值 起始值)÷ 步长)向下取整 1

  上图中第二、三个参数都有三种可能取值:2.533.5

  上例中,一共有3??27种参数组合,相当于有27个指标。系统会对这27个指标逐一进行评价并给出评价报告,评价报告如下: