1.10 工具-行情系统(v10.60及以后)

入口:击客户端左侧工具栏的的"工具",会弹出一个工具菜单。


1.10.1 选择专家系统

在图表栏目中软件预设多种股票交易系统,提示买卖信号。

第一种方法:选择专家系统,在个股报价的分时图或者K线图点击“专家”按钮。

第二种方法:或在图表窗口双击走势线编辑主要股票对象,在弹出的属性窗口中选择"专家"

l 如何选择专家系统

多种分析模式供选择:EPHL, SAR, SARv, jSARv, EMAs, jSAR, SMAs ,从中选择一种专家类型,设定参数,并可选择显示的背景及文字颜色,然后按"确定"。

下图即可看到(红色的)"买"(绿色的)"卖"信号

l 买卖讯号使用法则

买卖讯号是建基于

1. 多种技术分析工具

2. 统计分析与推论

3. 时间数列分析

4. 揉合上述分析方法加人工智能分析

买卖讯号之特性

基础因素全不考虑

整体经济、行业景气、政府政策、消息有无全不考虑

技术工具基本上是采用随势分析系统 Trend following system 原则。

买卖讯号之限制

优点

在趋势市道下利润是不可估量的。

在任何逆势环境下(做错方向)亏损是有限且可以控制的。

缺点

当市场出现不寻常之停市或买入该股后遇上停牌或该股属于成交稀疏冷门股或单天大幅急挫者,亏损是无法控制及无从估计的。


1.10.2 条件/脚本选股

本软件备有四种选股方式

原子条件选股、组合条件选股、脚本条件选股、系统选股。

(注:条件选股需先下载股票日线数据)

打开条件选股的方式

a. 从工具栏点击“工具”,在弹出的"工具"菜单中选择"条件选股"

b. 快捷键:F7


1原子条件选股

"原子条件选股"包括"强弱指标选股"、"成交量指标选股"、"交易系统选股"、"基本面选股"、"其它指标选股"等类别。

1)可选择设置各种参数以便选出合乎条件的股票

l 可指定多个选股条件,设定选股条件的运算公式("与"\"或")

l 可设定参数

l 设定选股范围,选股范围包括香港市场及沪深两市。

2)选出来的股票会自动成为一个板块,便于调用

以上图为例:

1. 指定条件选股。

我们先选定"强弱指标选股"下的"涨跌幅指标选股"并双击,"涨跌幅指标选股"即刻添到"选入条件"窗口,再选定"成交量指标选股"下的"量比选股"并双击,"量比选股"也添到"选入条件" 窗口,此时选入条件共有两个条件。

2. 设定条件参数。

在"选入条件"窗口双击刚才加入的条件,随即自动出现属性内容,属性条件可自由设定参数。先设定"涨跌幅指标选股"属性,将"分析周期"设为1日即当日,涨跌幅设为大于3%即涨幅大于3%;再设定"量比选股"属性,量比设为大于5%。假如要删掉"选入条件"中的条件,只要选定欲删除的条件,按下"移除"按钮,即可删除。若要保存"选入条件",只要按下"保存"按钮即可。

3. 加入运算公式。

"与"表示同时满足两个条件;"或"表示满足其中一项条件即可; 假设在此选择"与",表示要选出"当天涨幅大于3%"且"量比大于5%"的股票。

4. 设定选股范围。

此处系统默认为"香港全部",若要更换选股范围,按"更改"按钮,从中选择板块,按确定。

5. 执行选股。

按下"执行选股"按钮即开始进行筛选,如图选出了股票,这些股票就是"当天涨幅大于3%并且量比大于3%"的股票。用这个"涨幅指标"及"量比指标"来对当日行情进行选股,选股的结果从中也反映了当日股市市况,条件选股的作用显得极具意义。若要保存选股结果,按"保存至板块"按钮就可。将它们保存到一个板块中,便于调用。


2组合条件选股

可将之前在"原子条件"保存的多个条件,在此处进行组合选股,对"原子条件"选出的股票进行进一步的筛选,精确选股结果,提高选股质量。在此还方便您整理自已创建的所有"原子条件"选股文件。

“组合条件”选股中,条件的参数是不可改的。若要修改,可转到“原子条件”进行修改。

使用流程:

1. "原子条件"中所创建的条件文件会显示在“组合条件”窗口中。

2. 设定选股范围,按“执行选股”。

3. 选出的股票会自动成为一个板块,便于调用。


(3)系统选股


4脚本选股

脚本选股TAB页面,点击脚本规则,可以查看脚本的定义。

可将保存在css\system目录下的脚本文件,显示在窗口内,方便调用,一目了然。(注:条件选股需先下载股票日线数据)

1. system下的脚本文件为系统提供的脚本选股文件

2. 设定好选股范围,按“执行选股”即可。


脚本编辑窗口:

功能

A. 系统保留字会自动显示成蓝色

B. 自动提示你所写的对象属性,可以用↑ ↓ 移动光标至要加入的"方法",再按 Enter 即可。

l 语法规则

A. 区分大小写,即:A与 a是不同。

B. 每句结束都要加"; "(分号),但是if, else的语句除外。

l 注释语句

// 注释当前行,"//"后的语句为注释而非脚本语句

/* */ 注释多行, "/* */"中间的语句为注释而非脚本语句

l 流程控制语句

if 语句

――如果满足“条件一”,则执行语句一

if (条件一)

{

 执行语句一;

}

if , else条件判断语句

――如果满足"条件一",则执行语句一,否则执行语句二

例:

if (条件一 )

{

 执行语句一;

}

else

{

 执行语句二;

}

return

语法:return 返回值

说明:指定函数的返回值。

return 1 为将符合条件的股票选出来,return 0 为将符合条件的股票排除;

在指标排序语句中,return表示用返回的值来排序。

例:return.RSI.val[0]; //所有股票按今天的rsi 值排序

保留字:

一些关键字,有特定含义,被规定不许挪作它用,不能作为对象的名字。

运算符:

1)

语法:表达式1+表达式2

说明:把数字或集合的表达式相加

2)

语法:表达式1-表达式2

说明:把数字或集合的表达式相减

3) *

语法:表达式1*表达式2

说明:把数字或集合的表达式相乘

4) /

语法:表达式1/表达式2

说明:表达式1除以表达式2

5)

语法:表达式1>表达式2

说明:比较两个表达式是否"表达式1"大于"表达式2";如是,则返回结果为真;否则返回结果为假。

6)

语法:表达式1<表达式2

说明:比较两个表达式是否"表达式1"小于"表达式2";如是,则返回结果为真;否则返回结果为假。

7) >=

语法:表达式1>=表达式2

说明:比较两个表达式是否"表达式1"大于等于"表达式2";如是,则返回结果为真;否则返回结果为假。

8) <=

语法:表达式1<=表达式2

说明:比较两个表达式是否"表达式1"小于等于"表达式2";如是,则返回结果为真;否则返回结果为假。

9) <>

语法:表达式1<>表达式2

说明:比较两个表达式是否"表达式1"不等于"表达式2";如是,则返回结果为真;否则返回结果为假。

10) and

语法:表达式1 and 表达式2

说明:比较两个表达式条件是否同时满足,如是,则返回结果为真;否则返回结果为假。

11) or

语法:表达式1 or 表达式2

说明:两个表达式中只要有一个为真,则返回结果为真。

12) not

语法:not 表达式

说明:对运算符(NOT)右边的数据求反;not 0 ---> 结果就是1


示例与分析:

运算符左边只能为要定义的变量名

abc = 10 ; 这样是对的

close = open ; 这样写是错误的, close为系统保留字, 不能出现在左边.

支持数值, 集合之间的运算,例如:

10+20 数值与数值运算

10+open 数值与集合运算

open-close 集合与集合运算


对象

对象指程序中既定的一些可操作的实体。"对象"具有一定的属性和方法,属性指对象本身的各种特性参数,如气球的体积,自行车的长度等;而方法是指对象本身所能执行的功能,如气球能飞,自行车能滚动等。

注:在下列对象中[i]指的是从今天以前的第几天,[0]就是指今天,[1]就是指昨天。


当天行情对象REPORT

描述当天的行情报表及财务股本信息。

注:

rpt_close等同于REPORT.rpt_close。

行情中的各项数据就是这个报表对象的属性,如下表:


历史行情对象SYMBOL

描述K线中的数据

注:

open等同于SYMBOL.open.

open[0]等同于SYMBOL.open[0],即取当天的开盘价。

行情中的各项数据就是这个对象的属性,如下表:


指标对象

数据源有两种,一种是SYMBOL;另一种是集合,如:open, close等。







交易系统对象



函数

1) max

语法:max(表达式1,表达式2)

说明:max(a,b)取a、b中最大值,a、b为数值,运算结果为数值

例:c=max(3,5) (c等于3,5中值最大的一个)

因此 c=5

2) min

语法:min(表达式1,表达式2)

说明:min(a,b)取a、b中最小值,a、b为数值,运算结果为数值

例:c=min(3,5) (c等于3,5中值最小的一个)

因此 c=3

3) sum

语法:sum(表达式1,表达式2)

说明:sum(a,b) 求a中最后 b个单元的和,a为集合,b为数值,运算结果为集合

例: sum(vol,5) (vol是指成交量,这个表达式是求今天及前4天内成交量总和。)

4) ref

语法:ref(表达式1,表达式2)

说明:ref(a,b) 求b日前的a值, a为集合,b为数值,运算结果是集合.

例: ref(vol,1) (vol是指成交量,这个表达式是求昨天的成交量。)

5) hhv

语法:hhv(表达式1,表达式2)

说明:hhv(a,b) 求a中最后n个单元的最大值,a为集合,b为数值,运算结果是集合.

例: hhv( high, 10 ) 

high是指最高价,这个表达式是求今天及前9天内的最高价)

6) hhvbars

语法:hhvbars(表达式1,表达式2)

说明:hhvbars(a,b) 求a中最后 b个单元中的最大值到现在的天数, a为集合,b为数值,运算结果是集合.

例: dd = hhvbars( ref( high, 1 ), 10 )

ref(high,1)是指前一天的最高价,这个表达式是求10天中最高价出现的时间离现在已有多少天)

7) llv

语法:llv(表达式1,表达式2)

说明:llv(a,b) 求a中最后b个单元的最小值, a为集合,b为数值,运算结果是集合.

例: llv(low, 10 ) 

low是指最低价,这个表达式是求今天及前9天内的最低价)

8) llvbars

语法:llvbars(表达式1,表达式2)

说明:llvbars(a,b) 求a中最后 b个单元中的最小值到现在的天数, a为集合,b为数值,运算结果是集合.

例: dd = llvbars( ref(low, 1 ), 10 )

ref(high,1)是指前一天的最低价,这个表达式是求10天中最低价出现的时间离现在已有多少天)

9) sma

语法:sma(表达式1,表达式2)

说明:sma( a,b)求sma值,运算结果是集合.

10) ema

语法:ema(表达式1,表达式2)

说明:ema( a,b)求ema 值,运算结果是集合.

11) cross

语法:cross(表达式1,表达式2)

说明:cross(A,B)求A、B是否交叉,如A上穿B,则返回值1;如A下穿B,则返回值2;如两者没有交叉,则返回值0。

例:cross( DMI.dip, DMI.din )

 检查DMI指标的dip与din是否交叉

12) count

语法:count(表达式1,表达式2)

说明:count( a,b) 统计b天中 a非0值的天数,运算结果是集合.

13) maxval

语法:maxval(表达式1,表达式2)

说明:maxval(X,N)求集合X中最后N个数据的最大值.,运算结果是数值.

例:maxval(rsi.val,9)

14) minval

语法:minval(表达式1,表达式2)

说明:minval(X,N)求集合X中最后N个数据的最小值.,运算结果是数值.

例:minval(rsi.val,9)

15) sumval

语法:sumval(表达式1,表达式2)

说明:sumval (X,N)求集合X中最后N个数据的和,运算结果是数值.

例:sumval(rsi.val,9)

16) countval

语法:countval(表达式1,表达式2)

说明:countval (X,N)求集合X中最后N个数据不为0的个数,运算结果是数值.

例:countval(close,5)

17) maxvalplace

语法:maxvalplace (表达式1,表达式2)

说明:maxvalplace( X,N ) 求集合X中最后N个数据的最大值的位置.,运算结果是数值.

例:maxvalplace(high,5)

18) minvalplace

语法:minvalplace (表达式1,表达式2)

说明:minvalplace( X,N ) 求集合X中最后N个数据的最大值的位置.,运算结果是数值.

例:minvalplace(low,5)

19) iff

语法:iff(表达式1,表达式2,表达式3)

说明:iff(a,b,c) 如果a不为0,返回值b;否则返回值c.

20) getsize

语法:getsize(表达式)

说明:getsize(a)求集合a中的单元个数.

例:getsize(close) 求某股票有收盘数据的天数,可籍此判断是否新股。

21) abs

语法:abs(表达式)

说明:abs(a)求a的绝对值

22)contain

语法:contain(表达式1,表达式2)

说明:contain(a,b)求 a中是否包含b

例:contain(rpt_name,“上海”)

就是将股票名称中有"上海"的股票选出来


范例:

简单应用

例一:选出昨日跌幅大于5%的股票

chgper[1]<-5;

例二:选出上周涨幅大于20%的股票,将周期设为1周,公式如下:

chgper[1]>20;

例三:选出昨天rsi大于80的股票

RSI.val[1]>80;     //RSI.val是取RSI值,[1]为昨天数据


脚本选股实例说明:

实例一:波段抄底

算法介绍

寻找当前是下跌波段, 并且接近上一个下跌波段的低点的股票。

运用法则

在底部的介入能够获得比较高的利润, 但是目前股票是弱势,

因此转强需要较长的时间。同时如果确认跌破支撑位, 则应该考虑

止损出局。

if( rpt_close<=0 ) // 剔除今天停牌的股票。(*1)

{

  return 0 ;

}

ind_zigzag zz( 10, 10, close ) ;

if( zz.type[0]==1 or zz.type[0]==3 ) // 最后一个波段是下跌波段. (*2)

{

  rng = close[0]/zz.enterprice[1] ;

  if( rng>=0.98 and rng<1.02 ) // 当前价在 上一个下跌波段的低点 附近. (*3)

  {

     return 1 ;

  }

}

return 0 ;

说明:"rpt_close"代表最新价,"rpt_close<=0"就是最新价小等于零即代表今天停牌股票。(*1)表示"波段抄底"选股,不对今天停牌的股票进行选股。

"ind_zigzag"代表ZigZag技术分析工具,"ind_zigzag zz( 10, 10, close )"代表ZigZag技术分析工具属性中设为价格是"收盘价"(close)、方式是"百分比"、转多是"10"、 转空是"10"。" zz.type[0]"代表最后一个波段,(*2)表示ZigZag技术分析在上述属性范围中"zz.type[0]==1 or zz.type[0]==3 "即"最后一个波段是下跌波段"的情况("1"代表下跌波段,"3"代表未达到所设转空参数的未确认下跌波段)。

close[0]"代表最新收盘价(以下简称A),"zz.enterprice[1]"代表ZigZag技术分析工具中上一个波段与近一个波段间转折点价位(以下简称B),"close[0]/zz.enterprice[1]"代表A和B之比,"rng>=0.98 and rng<1.02"代表A和B之比接近11,(*3)表示当前价在"一个下跌波段的低点附近"。

通过上述的运算公式,系统会计算选出符合脚本中自设条件的股票。

指标选股脚本范例:

1. 简单算数平均线SMA

两条sma线的金叉买入

ind_sma obj1( 5, close ) ;      //定义obj1为sma对象,它的sma周期是5,

sma数据源是收盘价.

ind_sma obj2( 10, close ) ;     //10天均线

if( cross( obj1.val, obj2.val )==1 ) //用cross函数判断5天均线是否上穿10天均线

{

  return 1 ;            //返回值1,将符合条件的股票选出

}

return 0 ;

2. BB

收盘线与bb交叉

bcross = cross( close, BB.bbsubstd ) or cross( close, BB.bbaddstd ) ;

//用cross函数判断收盘线是否与上下信道交叉,并将值赋予变量bcross。

if( bcross==1 )            

{

  return 1 ;        //如果bcross等于1则有交叉,将符合条件的股票选出

}

return 0 ;

3. DMI

检查dip与din是否交叉.

bcross = cross( DMI.dip, DMI.din ) ;  //检查dmi的两条线是否交叉

if( bcross<>1 )

{

  return 0 ;

}

if( DMI.adx[0]>20 )          //如果adx值大于20

{

  return 1 ;            //将符合条件的股票选出

}

return 0 ;

4. MACD

检查是否出现 macd金叉

bcross = cross( MACD.macd1, MACD.macd2 ); // 检查macd1与macd2是否交叉.

if( bcross<>1 )

{

  return 0 ;                //剔除没有交叉的股票

}

if( MACD.macd1[0]>0 and MACD.macd1[1]>0 ) // 检查macd1, macd2是否在0上方.

{

  return 1 ;              //选出符合条件的股票

}

return 0 ;

5. RSI

检查RSI及其EMA是否向上交叉.

ind_ema rsima( 9, RSI.val ) ;

bcross = cross( RSI.val, rsima.val ) ;

if( bcross==1 )               // bcross==1, 表示RSI上穿rsima;

{                        

  return 1 ;

}

检查RSI及其EMA是否在昨天向上交叉.

bcross = cross( ref( RSI.val, 1) , ref( rsima.val, 1) ) ; //用ref函数求昨天的rsi及ema 值

if( bcross==1 )

{

  return 1 ;

}

6. ZIGZAG

检查是否是下跌波段回稳.

if( ZIGZAG.type[1]<>1 or ZIGZAG.type[0]<>2 )

{

  return 0 ;              //不选出处在上升波段及未确定下降波段的股票

}

if( ZIGZAG.height[0]>5 )  //检查最后一个波段高度.如果已经反弹太高, 入场危险.

{

  return 0 ;

}              // 可能是一个上升波段的开始, 如果是, 则是入场良机.

return 1 ;

7. ts_sma, ts_ema, ts_sar, ts_sarv, ts_jsar, ts_jsarv. ts_ephl

选出TS_SAR正在发出买入信号的股票.

if( TS_SAR.sgntype[0]==1 and TS_SAR.bars[0]==0 )

{

/*

sgntype的定义 0--未知道, 1--多头市场, 2--空头市场

bars指相邻信号之间的天数.

*/

  return 1 ;

}

// 选出TS_SARV正在发出买入信号的股票.

if( TS_SARV.sgntype[0]==1 and TS_SARV.bars[0]==0 )

{

  return 1 ;

}

// 选出TS_JSAR正在发出买入信号的股票.

if( TS_JSAR.sgntype[0]==1 and TS_JSAR.bars[0]==0 )

{

  return 1 ;

}

// 选出TS_JSARV正在发出买入信号的股票.

if( TS_JSARV.sgntype[0]==1 and TS_JSARV.bars[0]==0 )

{

  return 1 ;

}

return 0 ;

8. ts_var

aa = selbestexpert( 0, 0 ) ; // 选择最大利润中的 最好的分析专家.

if( aa.experttype==0 ) // 分析专家类型是0, 表示没有取到优化结果.

{

  return 0 ;

}

// 如果历史中 准确率小于50% 或者 交易段数<=3次, 不选出来.

if( aa.winper<50 or aa.tradecount<=3 )

{

  return 0 ;

}

ts_var obj( aa, SYMBOL ) ; // 用优化结果构建一个 交易系统.

if( obj.sgntype[0]==1 and obj.bars[0]==0 ) // 选出当天发出买入信号的股票.

{

  return 1 ;

}

return 0 ;



1.10.3 自定义指标

点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“自定义指标”,打开指标列表,导入DAT文件或者自己编写自定义指标。


1.10.4 异动雷达

点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“异动雷达”或者双击右下角图标,弹出提示框,选择“是”。

打开“异动雷达”,点击“设置”按钮,设置参数。


1.10.5 预警系统

功能介绍:

可在软件“预警系统”中设置个股预警系统,个股预警系统是指用户将个股设置特定的条件(比如“价格高于 元”、“价格低于 元”、“涨幅大于 %”、“跌幅大于 %”、“换手率大于 %”、“量比大于 ”等等),当该股票在行情中满足所设条件时,系统会显示个股预警提示窗口,提醒用户注意该股票行情。

操作流程:

点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“预警系统”或者双击右下角图标,弹出提示框,选择“是”。

点击“增加条件”按钮,预警类型分为“价格高于 元”、“价格低于 元”、“涨幅大于 %”、“跌幅大于 %”、“换手率大于 %”、“量比大于 ”等等

如何加入股票:点击“加入”按钮,弹出股票列表,用户可在此选择股票。

启动预警

点击“启动预警”按钮即可。

实例

“长江实业”预警条件设为“价格高于135.00元”启动预警;

当长江实业所现价越过135.00元时,系统会在右下方显示个股预警提示窗口。


1.10.6 板块管理

板块管理有两种入口:

1、点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“板块管理”。

2、在行情表鼠标右键,在弹出的菜单中选择“板块管理”菜单。

可以在板块管理窗口增加或删除板块,或向某一板块中增加或删除股票。


l 创建新板块

在下面对话窗,可任意创建新板块,及向板块内添加或删除股票

添加成功后,行情表内会出现新建的板块


l 快捷加入板块

在行情表中选中一只股票,点右键,在弹出菜单中选择"加入板块"。


l 选择分组

进入个股报价页面,Ctrl+G(同时按下),选择一个板块,当使用键盘按键PageUp(上一只)、PageDown(下一只)来翻动行情或图表时,是按照选择的板块内代码顺序翻动的。


1.10.7 经纪搜索

经纪搜索有两种入口:

1、点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“经纪搜索”。

2、鼠标点击软件任意地方,键盘输入“20”,移动游标定位到经纪搜索,按“Enter”。

支持港股所有经济席位搜索,方便任意席位的跟踪与研究。

操作方式:

1)鼠标双击左边列表框;

2)在顶部第一个输入框内输入经济席位号;

3)在顶部第二个下拉框中选择想要查看的经济公司名称;


1.10.8 设置经纪牌

设置经纪牌有两种入口:

1、点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“设置经纪牌”。

2、在个股报价页面,鼠标点击“经纪”席位功能模块上的“设置”按钮。

设置想要跟踪的经纪牌位可分别设置为过滤或高亮显示功能可参照以上经纪牌显示的章节。

全盘独有功能:标记买卖最活跃的三个经济牌。实际效果见下图:

若您需查看全盘行情介绍页或直接购买,请点击此处

若您查看行情购买页或相关产品介绍,请点击此处


1.10.9 全屏显示

全屏显示功能有两种入口:

1、点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“全屏显示”。

2、按快捷键F11可进入全屏显示,再次按快捷键F11或“ESC”键可取消全屏显示。

全屏显示后,即隐藏菜单栏、工具栏、状态栏。


1.10.10 大字报价

大字报价功能有两种入口:

1、点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“大字报价”。

2、在行情列表,鼠标右键点击,在弹出菜单选择“大字体”。

系统支持行情表更换大字体显示报价。


1.10.11 披露易

点击客户端左侧工具栏的“工具”按钮,在弹开的菜单中点击“披露易”。