第一讲:认识公式编辑器
公式编辑器是导入源码和进行编写指标的窗口。公式编辑器共分4种,分别是: 1、技术指标公式编辑器; 2、条件选股公式编辑器; 3、交易系统公式编辑器; 4、五彩K线公式编辑器。 由于这几种编辑器的展开和使用大同小异。所以,本文仅以技术指标公式编辑器为例加以说明。 由于目前各种股软的区别,不仅有些函数不通用,编辑器的打开方式也略有区别。本讲就是告诉大家如何展开公式编辑器。 以下共分5个图片说明打开《公式编辑器》的方法:
    
FNC是大智慧2和分析家格式,只有这两个股软能够导入。导入的方法是:打开公式编辑器,点击导入---找到存放此公式的文件夹---双击---在出现的列表中掸单击该公式---选导入。 特别提示:必须先将公式存放在一个文件夹中,已有的,新建都可以。否则编辑器无法找到该公式。
ALG是飞狐和金狐软件的格件格式,exp式,tnc是通达信软是大智慧internet版格式,hxf是同花顺格式,还有比较特殊的fml是多空阵线格式(与飞狐的自编公式文件后缀一样)
第二讲:公式编写的基础函数
打开技术指标公式,我们最常见的,它的组成不外乎两种情况,一是K线,二是均线。其他诸如柱状线,彩带,分段线等等,都是在K线或均线基础上的延伸或变形。为此,我们先熟悉一下构成这两种状态的基本函数。 一、K线函数 非常简单,大家都可能熟知。作为基础,还是说明一下。 1、开盘价:OPEN 可简写为 O 2、最高价:HIGH 可简写为 H 3、最低价smi49liesOW 可简写为 L 4、收盘价:CLOSE 可简写为 C 有了这4个函数,就可构成一根K线了。比如:收盘价小于开盘价,即阴线:C<o; 收阳线则互为相反。 那么长下影的光头阳线,即 T 形线呢?理解了原理,也很简单。一要以最高价收盘(否则有上影),二要开盘价大于最低价。所以有如下表示:C=H AND O>L;这里我们没有考虑下影的长度和 T 字上边一横(实体部分)的宽度。 习题:一根光头阳线,实体部分小于5分钱,下影超过实体的两倍,如何表述? 特别提示:编辑指标必须在英文状态下输入。其中运用的数学符号,包括加减乘除、分号,引号等(+ - * / ; "" ''><#)也必须在英文状态下输入。 二、均线函数 单根K线的形态是相当枯燥的。尤其在主图里。配合以均线等形式就会丰富多采,或者更利于我们从中发现规律和分析问题。这就需要均线函数来解决了。 最常见的: 1、MA(X,N),求X的N周期简单移动平均值。 算法:(X1+X2+X3+...+Xn)/N 例如:MA(CLOSE,20),表示求20日均价。 2、EMA(X,N),求X的N周期指数平滑移动平均。 算法: 若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一周期Y值。 例如:EMA(CLOSE,20),表示求20日指数平滑均价。 3、SMA(X,N,M),求X的N周期移动平均,M为权重。 算法: 若Y=SMA(X,N,M) 则 Y=(M*X+(N-M)*Y')/N, 其中Y'表示上一周期Y值,N必须大于M。 例如:SMA(CLOSE,20,1),表示求20日移动平均价。 这三个均线函数在股软中是通用的。关于它们的区别,开始学习时不必深究。其实数值区别也不是很大。要均线真实反映每天的价格变化,用MA,适当圆滑些,用EMA 或SMA。 三、常用连接函数 有了上述基本函数,可以表述出K线和均线了,但实际应用中要复杂得多,还要一些函数把他们连接起来。 大致有这么几个: 1、AND 就是“和”的意思。如:A AND B;就是A和B两个条件要同时成立。 2、OR “或”,“或者”的意思。如:A OR B;就是A和B两个条件有其中一个成立就行。 3、IF 根据条件取不同的值。如:IF(X,A,B),若X不为0则返回A,否则返回B。实例:IF(C<O,L,H),表示收阴返回最低价,否则返回最高价。 4、CROSS 交叉函数。CROSS(A,B),表示A从下方向上穿过B。 5、REF 向前引用。引用若干周期前的数据。例如:REF(CLOSE,1),表示昨收的收盘价。那么前天的最高价呢,就是:REF(H,2)。 四、成交量 VOL 表示每天的成交量。因以后会经常用到,所以先交待给大家。 上面这几个函数是最常用的,希望大家记住,不知怎么写也要知道其表述的意思。当然,记不住也不要紧,《公式编辑器》中全有。 习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。
第三讲:认识颜色符号或绘图函数
我们所看到的指标是以线为基础的。不论是均线,K线,或在线与点之间的填充,又都离不开颜色。正是有了五颜六色才使得图形丰富多采,便于区分,或者更具立体感。本讲就是告诉大家如何利用颜色或修改颜色。 一、颜色函数 (一)基本符号:COLOR 所有显示颜色时,都必须用这个符号做为引导。但它本身并没有色彩,在它的后面还需加上具体的颜色,才能使用。 举例:COLORBLACK;后面加上英文的黑色单词,在图中就会显示出黑色来了。 (二)常用颜色: 颜 色 1:飞狐的: 2、大智慧2 3、大智慧 4、通达信 5、同花顺 6、通用符号
红 色 COLORRED; 同前 同前 与飞狐基本相通 同 前 白 色 COLORWHITE; 同前 同前 一般不用修改 以下略-- 黄 色 COLORYELLOW; 同前 同前 以下略-- 黑 色 COLORBLACK; 同前 蓝 色 COLORBLUE; 同前 同前 COLORFFFF00 棕 色 COLORBROWN; 同前 COLOR0055FF 青 色(淡蓝)COLORCYAN; 同前 COLORFFFF00 COLORF0F000 灰 色 COLORGRAY; 同前 同前 绿 色 COLORGREEN; 同前 同前 COLOR00FF00 晶红色(粉)COLORMAGENTA; 同前 COLORff00ff COLORF00FF0
此外还有:金黄色COLOR008364 紫红COLOR000999 深黄色COLOR00CCCC 紫罗蓝COLORE66878 等等。
(三)常见颜色问题。 从上表中我们可以看出,大部分颜色符号是通用的。但在将源码粘贴时,因股软的不同,有时会出现《未定义的标识符》字样,很多时候就是颜色惹的祸。常见的是: COLORCYAN 淡蓝色,大智慧不识别,需改成:COLORFF0000 COLORMAGENTA 晶红色,大智慧不识别,需改成:COLORF00FF0 特别提示:找不到相对应的颜色函数怎么办?一是删除,让系统自动填加。二是更换数字或字母。 实际上只要在COLOR后面加上0-9、A-F中的任意6个数字字母,就可组成不同的颜色。有兴趣的可试试。 (四)指标线粗细函数 LINETHICK 放在语句的后面,用,号隔开。例:LINETHICK2,后面的数值越大,线就越粗。 特别提示:LINETHICK0 表示不画出指标线,但可在顶部显示数值。
二、绘图函数 1、DRAWICON 在图形上绘制小图标。这是最常用的绘图函数之一。 用法:DRAWICON(条件,位置,图标) 飞狐15种图标编码为1-15(1-3为小脸,4-5为上下箭头,6-7为红绿小旗,8-9为三角形,10-12为信号灯,13-15为O、X、四方形)。 大智慧2的图标编码为14个。 其他股软略少。 这个函数通用。但同一数字编码,显示出的图形区别却非常大,形态也不一样。大家可通过变动数字编码自行调整。 2、DRAWTEXT 在图形上显示文字。这也是最常用的绘图函数之一。 用法smi52liesRAWTEXT(条件,位置,文字),注意,文字必须用单引号''引上才能输出。 飞狐可用'\n'换行, 飞狐和大智慧2可用 ALIGN 0-3 定义对齐方式。 3、STICKLINE 在图形上绘制柱线。 用法:STICKLINE(条件,上位置,下位置,宽度,实体或空心)。 此函数股软通用。宽度最大为10(一般K线的宽度为6)。0——画实心柱,1——画空心柱。 4、PARTLINE 分段绘制指标线。 飞狐用法:PARTLINE(条件,需要变色的线)。 例如:PARTLINE(C>REF(C,1),C),colorred 表示收盘大于前收以红色绘制收盘价连线。 大智慧2用法:PARTLINE(需要变色的线,条件1,条件1用的颜色,条件2,条件2用的颜色...),最多可以有10组条件。 例如:PARTLINE(C,C>O,RGB(255,0,0),C<ORGB(0,255,0),1,RGB(0,0,255))表示画收盘价线,阳线时用红色,阴线时用绿色,平盘用蓝色。注意最后一个条件为1,表示前面都不满足时必然满足这个条件。 特别提示:大智慧2同分析家一样,在绘制分段线时,用的不是正常的颜色函数,而是用RGB(255,0,0)来表达。以下是几种常用颜色: 洋红(255,0,255) 红色(255,0,0) 绿色(0,255,250) 黄色(255,255,0) 紫色(128,0,128) 灰色(169,169,169) 天蓝(255,215,0)。 同花顺和大智慧2一样,运用相同的函数。 通达信的划分段线是用IF条件函数来实现的。 例:IF(C>=O,A线,DRAWNULL),COLORRED,LINETHICK2; 翻译过来是:当收盘价大于等于开盘价时,在A线上划红色,否则不划。指标线为2等粗。 特别提示:DRAWNULL 是通达信的专用函数。意思是返回0。其他股软遇到此函数时,可直接用0替代。 大智慧没有这项功能。一般用如下三种方式替代: 第一种:用 DRAWTEXT 在图形上显示文字的方式。在文字栏用的文字是小圆圈。 第二种:用 STICKLINE 在图形上绘制柱线的方式。但注意柱线必须要短。 第三种:用 IF 条件函数的方式,适用于3条线以上。本文略去。 5、FILLRGN 画区间彩带 飞狐用法:FILLRGN(条件,线1,线2) 例如:FILLRGN(MA1>MA2, MA1,MA2),colorred 表示MA1>MA2时以红色填充MA1和MA2之间的区域。 大智慧2用法:FILLRGN(线1,线2,条件1,颜色1,条件2,颜色2...),填充条件1到条件2之间的区域,当条件1满足时,用颜色1,当条件2满足时,用颜色2,否则不填充,最多可以有10组条件。 例如:FILLRGN(CLOSE,OPEN,CLOSE>OPEN,RGB(255,0,0),CLOSE<OPEN,RGB(0,255,0))表示填充开盘价和收盘价之间的区域,阳线时用红色,阴线时用绿色,平盘不绘制。 其他三种股软好像都没有这项功能。 为了实现这一效果,一般都是用划柱线的方式替代。注意的是,一般要将宽窄的数字加大,目的是让相邻的柱线合在一起显示出整体的效果。 例:STICKLINE(J<K,J,K,10,0),COLOR00FF00;即,当J小于K时,在J与K之间填充柱线,宽度为最大粗值——10。
第四讲:源码的引入和修改 (一)在各种股软中的引入方法 股软之间虽然区别较大,但有一个共同点,就是第一步都是打开公式编辑器。下面再分别简要说明一下: 一、大智慧
1. 把要导入的公式(源码)考下来,方法是用左键先把源码变蓝,之后点右键,点复制; 2. 进入大智慧------>特色功能------>自编指标------>常用------>技术指标------>新建,在出现的公式编辑区的下面的空白处,把刚考的源码粘贴上,将公式名称复制后粘贴到公式名称栏------>确认------>退出。 3、在大智慧的底部显示栏中点击公式名称即可看到刚刚导入的公式。
二、飞狐 1、复制源码,方法同上。 2、进入主界面,即K线图模式。 用鼠标靠近左侧单击,出现管理面板------>双击技术指标------>用鼠标右键单击任何一个公式组的名称,比如“其它”------>点新建公式------>在出现的公式编辑区的下面的空白处,把刚考的源码粘贴上,将公式名称复制后粘贴到公式名称栏------>确定------>退出。 3、找到新建的公式,双击即可使用。
三、大智慧2
特别提示:必须在联网的状态下才可操作 有两种方式可以进入公式编辑页面。一是将鼠标靠近上部,点击《公式》―――《公式管理》―――双击《技术指标》―――单击指标组―――《新建》。 另一种方式是,将鼠标靠近左边,在出现的对话框中双击《技术指标》―――右键单击选定的公式组―――《新建》。
三、分析家 复制公式原码到分析家界面―――点击上面的《公式》―――点击《公式管理》―――按公式归类把其点击变色―――点击《新建》。
四、通达信 将鼠标靠近左边,在出现的对话图标中选F(x)即《公式管理器》图标―――双击《技术指标公式》―――单击选定的指标组―――《新建》。
五、同花顺 将鼠标靠近上部―――点击《公式》图标,进入后的操作与其他股软基本一样。 特别提示:必须在《描述》栏中加上文字或字母之类,否则无法通过。
(二)公式引入时的注意事项和说明
一、参数问题 复制的源码中有参数的,例如:{N 1 100 15},有三种解决办法: 1、手工将参数分别填加到参数表中。 2、采取变通方式进行改动。{N 1 100 15}改动后为:N:=15; 特别提示:注意用参数的大小处于中间的值来替换。这个中间值也是缺省值。另外:N后面必须加上等号,它的意思是不显示。 3、对于INPUT:N(5), M(10,1,100,2);这类有申明参数函数的,飞狐,大智慧2和分析家可不用理它,系统会自动将参数填加到参数表中。这里的M(10,1,100,2)里面的2是步长,手工填加时可删去。
二、粘贴源码时常见的问题和注意事项 1、未定义的标识符 多数是由参数引起的。还有就是有些源码中附带了公式名称或说明,这些公式源码以外的内容,如:名称,说明以及参数等等,凡在{ }以外的,均要删除,或者用{ }将其括上。 2、条件选股类的公式,应加入到和“技术指标”并列的“条件选股”组中。 3、是主图公式的,需在公式编辑区中点“主图叠加”。 4、通达信的输出一般都限定在16条。多出的解决办法是:将没有必要输出的语句后面加上“等号”,或者删去。例: 买点: STICKLINE(Var6>REF(Var6,1) AND Var6>0 ,Var6,Var8,10,0); DRAWICON(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-140,4); DRAWTEXT(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-40,'建议关注 '),COLORffffff; 这三项分别是划柱线、显示小箭头和显示文字。留一个就行了。 加“等号”的例子: Var2:MA(CLOSE,10); Var3:MA(CLOSE,20); Var4:MA(CLOSE,30); 加上后: Var2:MA(CLOSE,10); Var3:=MA(CLOSE,20); Var4:MA(CLOSE,30); 意思是保留了10日均线和30日均线的输出,将20日的隐去。 特别提示:不论什么股软,当遇到线条过多过乱时,都可以采用这种办法使图形简练清晰。 5、颜色符号及逗号问题 例:仓:EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),,colormagenta; 此句可能存在两个问题,一是后面有两个“逗号”,对于飞狐等通过,而对于大智慧2和分析家等,则是问题,必须删去一个。反之,一个没有也不行。二是后面的colormagenta,大智慧是不认识的。换成通用的:colorf00ff0就行了。 6、是否输出与颜色标识问题 例:仓:=EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),colormagenta,LINETHICK0; 这个语句的特点是在前面有等号“ = ”,意思是不输出,但后面还有颜色修饰符和指标线粗细函数。有些股软对此是放行的,即:不输出。而大智慧2和分析家却不认,把它看成相互矛盾的病句。解决办法:将修饰符全部删去,或将前面的 = 号去掉,让语句输出。
第五讲:各种形态的描述
懂得运用公式编辑器,掌握了公式的基本函数,就可以进行简单的公式编写了。下面我们共同认识一下公式的基本语句。这些基本语句,是编写公式和整理选股公式信号的基础,大家要熟知。 一、K线的基本形态
1、当天收阳:CLOSE>OPEN; 2、当天收阴:CLOSE<OPEN; 3、当天股价高开,言下之意开盘高于昨日收盘:OPEN>REF(CLOSE,1); 4、当天股价低开:OPEN<REF(CLOSE,1); 5、跳空高开:OPEN>REF(HIGH,1);当日开盘在昨日最高价之上 6、跳空低开:POEN<REF(LOW,1); 7、长阳:C/O>1.03 或者 (C-O)/O*100>5 或者 (C-O)/O>0.05 意思是收盘价比开盘价上涨5%以上。当然,用7%以上也可。 8、长阴:C/O<0.94; 注意:同一语句可有多种表述,此为其一。 9、高开大阴:O/REF(C,1)>1.04 AND C/O<1.94; 今天开盘比昨天收盘高出4%和收盘价较开盘下降6%。低开大阳与此正好相反。 10、标准十字星:CLOSE=OPEN AND HIGH<>LOW 更多见的是近似十字星。例:ABS(C-O)<0.02 AND H-C>0.03 AND C-L>0.03; 该语句用上了一个函数:ABS,意思是求绝对值。这样,该近似十字星即可能是阳星也可能是阴星。 再认识两个函数:MAX(A,B) 求A和B中的最大值。 MIN(A,B) 求A和B中的较小值 有了这两个函数,近似十字星还可这样表述:ABS(C-O)<0.02 AND H> MAX(C,O) AND L< MIN(C,O); 另外,该公式还可以用比例数编写。 11、长下影线:也有收阴收阳之分。以阳线长下影线为例:C>O AND (O-L)>(C-O);此公式只表达了下影线比实体线长,并没有表达长度比例和有无上影线。
留个习题吧:不限制阴阳线,上影小于5分钱,下影线是实体的两倍以上。
形态还有许多,有几十种,不一一例举了,大家举一反三,慢慢摸索吧。
二、条件选股的基本形态
1、阶段最高价:HHV(H,N) 意思是取得N天之内的最高价。新函数:HHV,最高值。 2、阶段最低价:LLV(L,N)意思是取得N天之内的最低价。新函数:LLV,最低值。 3、阶段涨幅 (C-REF(C,N))/REF(C,N)*100 N日收盘价的差值的百分比。 4、再创新高 HIGH=HHV(HIGH,N) 是指今日最高价是N日以来的最高价.。 再创新低:略。 5、放量: (1)今日比昨日的成交量放大了1倍: VOL/REF(VOL,1)>2; (2)今日的五日均量比前五天的五日均量放大了3倍: AA:=MA(VOL,5); BB:=REF(AA,5); AA/BB>4; (3)今天的成交量达到了整个流通盘的10%以上: VOL/CAPITAL>10/100; 注意,10%的表达式是10/100,或者0.1 6、缩量: (1)今日比昨日的成交量缩小了1倍: VOL/REF(VOL,1)<0.5; (2)今日的五日均量比前五天的五日均量缩小了一半: AA:=MA(VOL,1)<0.5; BB:=REF(AA,5); AA/BB<0.5; (3)今天的成交量不足整个流通盘的0.5%: VOL/CAPITAL<0.5/100; 7、放量上攻 是指价格上扬,成交量剧增 C/REF(C,5)>1.2 AND VOL>MA(VOL,5)*3; 表示5日上涨20%和成交量超过5日均量的3倍。 8、持续放量:COUNT(V>REF(V,1),N)=N; 实际上这种情况不是很多。如果用3日均量,或5日均量则非常普遍。即:COUNT(MA(V,3)>REF(MA(V,3),1),N)=N; 9、阶段放量 N(1,100,10) M(1,100,5) SUM(VOL,N1)/CAPITAL>=(N/100) M日内换手率大于百分之N 10、温和放量上攻 M(2,10,3) N(1,40,10) UP:=MAX(C,O)>REF(MAX(C,O),1); A:=VOL>REF(VOL,1); COUNT(IF((UP AND A),1,0),N)=N AND C>O AND (C-REF(MAX(C,OPEN),1))/REF(MAX(O,C),1)<=(3/100) AND VOL/CAPITAL<=(M/100) 连续N个周期放大并保持上涨势头 当日换手率小于 M% 11、突然放量 N(1,300,10)M(1,40,3) VOL>REF(HHV(VOL,N),1)*M 成交量较前N周期的最大成交量增大M倍 12、上涨: C/REF(C,1)>1.07;今日涨幅达到了7%以上。 注意:涨幅是指当天收盘价与昨天的收盘价之比。 13、下跌: 同上面的表达方式一样,将方向改变了而已。 14、十日均价继续上涨: AA:=MA(C,10); BB:=REF(AA,1); AA>BB; 15、窄幅整理:就是指近一段时期价格维持在一定幅度之内 (HHV(C,20)-LLV(C,20))/C<0.08 ;即20日内价格振幅在8%以内波动。 16、连续N天收阳:COUNT(C>O,N)=N; 特别提示:新函数:COUNT(X,N),统计满足条件的周期数。若N=0则从第一个有效值开始。 例:COUNT(C<O,10) 表示统计10周期内收阴的周期数。此句使用时必须加上条件,即收阴时怎么了方才有效。如:AA AND COUNT(C<O,10) 的返回值仍是AA,只有AA AND COUNT(C<O,10)<=3;时,即加上条件“小于等于3”周期时,才有实际意义。这个函数经常用到,务请留意。 17、N日内阳线多于阴线:COUNT(C>O,N)>N/2; 18、创历史新高:C=HHV(C,0); 特别提示:此公式本应为:C=HHV(C,N); 当N等于0时,从第一天开始统计。统计历史数据时,如果从头开始,都用0。 19、尾盘拉升 HOUR>14 AND MINUTE>56 AND CLOSE/REF(CLOSE,2) >= 1+N/100 14:56以后2分钟涨幅超过N% 20、突破长期盘整 N(10,60,30) M(5,50,30) REF(((HHV(H,N)-LLV(L,N))/LLV(L,N)),1)<=(M/100)AND C>=REF(HHV(H,N),1) AND BARSCOUNT(C)>N 前N日在上下M%的幅度内整理,今日突破。 21、阶段强势股 N(700101,1341231,990519) M(700101,1341231,990913) A:=SUM(IF(DATE-N=0,INDEXC,0),0); B:=SUM(IF(DATE-M=0,INDEXC,0),0); E:=SUM(IF(DATE-N=0,C,0),0); F:=SUM(IF(DATE-M=0,C,0),0); ((F-E)/E)>((B-A)/A) 选择N日----M日之间内走势强于大盘的股票. 22、大盘同步选股 N(1,100,10)M(1,100,50) COUNT((C>O AND INDEXC>INDEXO) OR (C< O AND INDEXC< INDEXO),N)/N > M/100 N周期中与大盘走势相同(同收阴线或同收阳线)的比例超过M% 23、今收盘对于N日内最低收盘价的涨幅(%) (C-LLV(C,N))/LLV(C,N)*100; 24、今收盘对于N日内最高收盘价的跌幅(%) (HHV(C,N)-C)/HHV(C,N)*100; 25、股价在过去N日内运行空间的相对位置 (C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100; 26、股价上方N1%至N2%处的筹码(%) AA:=WINNER(C+C*N2/100)*100; BB:=WINNER(C+C*N1/100)*100; AA-BB 认识新函数:WINNER(CLOSE) 获利盘比例。表示以当前收市价卖出的获利盘比例,如返回0.2表示20%获利盘;例如:WINNER(10) 表示10元价格的获利盘比例。该函数仅对比较日线分析周期有效。 27、股价下方N1%至N2%处的筹码(%) (WINNER(C-C*N1/100)-WINNER(C-C*N2/100))*100; 28、收盘价N%处的套牢盘 100-(WINNER(C*N/100))*100; 29、收盘价N%处的获利盘 WINNER(C*N/100)*100;
三、基本面选股举例
1、小盘选股 CAPITAL<=500000 AND FINANCE(33)>=0.01 AND CLOSE<=30 2、低市盈率选股 DYNAINFO(39)<=N AND DYNAINFO(39)>0 3、业绩选股 N(0,100,0.4) FINANCE(33)>N 每股收益在0.4元以上 4、小盘股 N:=5000; FINANCE(7)<=N 5、大盘股 N:=20000; FINANCE(7)>=N 6、净资产收益率选股 FINANCE(37)>(N/100) 净资产收益率高于N的股票 7、每股净资产选股 FINANCE(34)>N 选出每股净资产大于N元的股票. 8、每股未分配利润选股 FINANCE(32)>N 每股未分配利润大于N的股票 9、市净率选股 C/FINANCE(34)< N 市净率=市价/每股净资产 市净率>N 市净率越低公司股价越有被低估的可能,这类股票从理论上讲具有更高的安全性. 10、换手率选股 DYNAINFO(37)>=N/100 单日换手率大于N的股票 换手率的计算公式或表达式:VOL/CAPITAL*100; 因此也可写作:VOL/CAPITAL*100>=N/100 11、掁幅:(H-L)/REF(C,1)*100; 注意:是比的昨天收盘价。
第六讲:均线(选股)的基本形态
提示:K线的初步平均。(O+H+L+C*2)/5; 或 (H+L+C*2)/4; 一般认为:收盘价是最有说服力的和最有价值的,它是每天激烈争夺的最后妥协。但也有人认为:收盘价固然重要,其他价格也是争夺的产物。所以将全天的几种价格因素都考虑进去更能反映每天的真实情况。 1、最简单的指标线 (1)均价线 就是 移动平均线MA,“MA”表示的就是计算平均值。 MA1=MA(CLOSE,5);5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/5; MA2=MA(CLOSE,10);10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10; (2)均量线 均价线会了,照着葫芦画瓢,把收盘价CLOSE换成成交量VOL就行了! 例:MA1:MA(VOL,5); MA2:MA(VOL,10); 2、再次平均 指将已有的均线(多条均线)相加后进行再平均。 MA1=MA(CLOSE,5); MA2=MA(CLOSE,10); (MA1+MA2)/2; 3、N日均线向上 (本题反映均线波浪式延伸过程中某阶段的形态。) AA:=MA(C,N); BB:=REF(AA,1); AA>BB 均线向下呢? AA< BB 就可以了。 N日均线走平怎么表述?AA=BB 4、均线由下跌状态刚刚转为上升 AA:=MA(C,N); COUNT(AA<REF(AA,1),6)=5 //用来确认前5日处于下跌状态 AND AA>REF(AA,5); 5、年线拐头向上 A250:=MA(C,250); REF(A250,1)<REF(A250,2) AND A250>REF(A250,1); 6、两条均线交叉 股软中专门设定了一条函数来描述两条线交叉:CROSS(X,Y) ,此函数通用。 假如两条均线一条名叫X,另外一条叫Y 且(X<Y) CROSS(X,Y)表示X向上穿过了Y 通称:金叉 CROSS(Y,X)表示Y向上穿过了X 通称:死叉 特别提示:交叉有两种,一种是向上交叉,另一种是向下交叉。如果要求向上交叉时,X线必须比前一天高,所以需要加上 X>REF(X,1) 。完整的表达式为:CROSS(X,Y)AND X>REF(X,1) 加餐: 上述交叉是不限制周期的,有时我们会感到交叉特别频繁,如何取得他们较长时间交叉一次的数据呢,系统提供了另一个函数: LONGCROSS(X,Y,N) 两条线维持N周期后交叉。如果N等于15,则X Y两条线超过15天后交叉有效,否则不输出。 7、多次金叉(以常见的MACD指标为例) (1)二次金叉 (COUNT(CROSS(DIF,DEA),20)=2 AND CROSS(DIF,DEA); (2)二次死叉 COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF); (3)0轴上二次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=2 AND CROSS(DIF,DEA) AND DEA>0; (4)0轴上三次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=3 AND CROSS(DIF,DEA) AND DEA>0; 8、三线金叉 A5:=MA(C,5); A10:=MA(C,10); A30:=MA(C,30); AA:=CROSS(A5,A10); BB:=CROSS(A5,A30); CC:=CROSS(A10,A30); COUNT(AA,3)=1 AND COUNT(BB,3)=1 AND COUNT(CC,3)=1; 9、三线同时金叉 A5:=MA(C,5); A10:=MA(C,10); A20:=MA(C,20); AA:=CROSS(C,A5); BB:=CROSS(C,A10); CC:=CROSS(C,A20); AA AND BB AND CC; 10、均线多头排列 A1:=MA(C,N1); A2:=MA(C,N2); A3:=MA(C,N3); A4:=MA(C,N4); A1>A2 AND A2>A3 AND A3>A4; 11、均线空头排列3天以上 A1:=MA(C,N1); A2:=MA(C,N2); A3:=MA(C,N3); A4:=MA(C,N4); COUNT(A1< A2 AND A2< A3 AND A3< A4,3)>=3;
12、向前N日至M日出现过均线死叉(P1< P2) AA:=MA(C,P1); BB:=MA(C,P2); CC:=REF(CROSS(BB,AA),N); COUNT(CC,M); 13、均线粘合 MA1:=MA(C,5); MA2:=MA(C10); MA3:=MA(C,20); P1:=ABS(MA1-MA2)+ABS(MA2-MA3); P1/C<1/100 AND MA1>REF(MA1,1) AND MA2>REF(MA2,1);
14、均线粘合(另种表达式) MA1:=MA(C,5); MA2:=MA(C,10); MA3:=MA(C,30); A:=MAX(MAX(MA1,MA2),MA3); B:=MIN(MIN(MA1,MA2),MA3); COUNT(ABS(A-B)/B<0.01,3)=3;表示已粘合3天(含3天)以上
15、多条均线粘合 如5、10、20、30、120、250日移动平均线粘合 aa:=(ma(c,5)+ma(c,10)+ma(c,20)+ma(c,30)+ma(c,120)+ma(c,250))/6; up:=aa*n/100+aa; down:=aa-aa*n/100; count(BETWEEN(ma(c,5),up,down) and BETWEEN(ma(c,10),up,down) and BETWEEN(ma(c,20),up,down) and BETWEEN(ma(c,30),up,down)and BETWEEN(ma(c,120),up,down) and BETWEEN(ma(c,250),up,down),m)=m; n(2,1,500) m(10,1,100) 调整参数n为粘合程度,n值越小粘合的程度越高,即均线距离越近;m为粘合周期。
16、乖离均线 BIAS1:(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100; 当日股价与N日均线的乖离率=(当日股价-N日均价)/N日均价*100; 特别提示:乖离均线是由乖离率的“点”连成的均线。 此线虽非普通均线,因常用,故单提出来。 原理:以当日的均线价格为准,股价和均价之间的差距称为乖离程度,以乖离程度除以均价的百分比就是乖离率。
第七讲:从源码中提取选股公式
口诀:从后往前找,删除没用条,去掉修饰符,个别加等号。
例一:找出买点 VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100); VAR2:=SMA(VAR1,5,1); VAR3:=SMA(VAR2,8,1); H1:EMA(CLOSE,8),LINETHICK1; H2:EMA(H1,20),LINETHICK1; VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20)); VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4); VAR6:=IF((CLOSE > 1000),VAR4,VAR5); M1:EMA(CLOSE,60); M2:EMA(CLOSE,89); M3:EMA(CLOSE,233),LINETHICK1; M4:EMA(CLOSE,583),LINETHICK1; STICKLINE((H1 > H2),H1,H2,1,0.8); STICKLINE((H1 < H2),H1,H2,1,0.8); DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'买'); DRAWTEXT(VAR6,(HIGH * 1.08),'卖');
分解说明:
VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100); VAR2:=SMA(VAR1,5,1); VAR3:=SMA(VAR2,8,1); H1:EMA(CLOSE,8),LINETHICK1; H2:EMA(H1,20),LINETHICK1; VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20)); VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4); VAR6:=IF((CLOSE > 1000),VAR4,VAR5); M1:EMA(CLOSE,60); M2:EMA(CLOSE,89); M3:EMA(CLOSE,233),LINETHICK1; M4:EMA(CLOSE,583),LINETHICK1; STICKLINE((H1 > H2),H1,H2,1,0.8); STICKLINE((H1 < H2),H1,H2,1,0.8); 第一步{从后往前找}找到下面这行“买”的输出语句。然后看这条语句的基本条件。 DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'买'); 查看结果:输出文字 交叉 条件,条件 直 接 输 出 语 句 输出位置 文字 DRAWTEXT(VAR6,(HIGH * 1.08),'卖'); 知道“基本条件”为 H1,H2,那么与此没有任何关系的语句从后往前删除。删的办法有两种:一是直接删掉;二是先用{}括上,待没问题时再一次性删除。加蓝色的为找到的不输出语句。
第二步{删除没用条}后,剩下的有用语句: H1:EMA(CLOSE,8),LINETHICK1; {加蓝的为修饰类函数,原则一律删除。} H2:EMA(H1,20),LINETHICK1; DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'买');
第三步{去掉修饰符} 分别去掉:指标线粗细、显示文字、文字位置函数和文字 H1:EMA(CLOSE,8); H2:EMA(H1,20); CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60);
第四步{个别加等号} 条件选股只能输出一条语句,上面这三行为全部输出,所以,作为“条件”的前两行还必须在冒号后面加上等号,表达不输出。结果: H1:=EMA(CLOSE,8); H2:=EMA(H1,20); CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60);
例二、找出笑脸和买入信号 以本人发过的《跟庄建仓》为例。 A01:=DYNAINFO(7); A03:=BARSCOUNT(CLOSE); A04:=(SMA((CLOSE / HHV(HIGH,120)),3,1) * 100); A05:=IF((A03 > 20),A04,0); A06:=IF((LOW > A01),0,IF((HIGH < A01),1,(((A01 - LOW) + 0.009) / ((HIGH - LOW) + 0.009)))); A07:=DMA(A06,(VOL / CAPITAL)) * 60; A09:=IF((((A07 > 0) AND (A07 > REF(A07,1))) AND (A05 <= 88)),A07,0); Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1); Var2:=EMA(Var1,8); Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; FILLRGN(趋势>80,趋势,80); DRAWICON(CROSS(趋势,0),0,1); FILLRGN((A09 > 0 AND (趋势<20 OR 趋势>REF(趋势,1)AND 趋势<50)),0,A09),colorFFFF00; 机构建仓区:0,LINETHICK0,colorFFFF00;
Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; STICKLINE(趋势<=13,0,20,5,0),colorcc9900; DRAWTEXT(FILTER(趋势<=13,15),30,'准备现金'),colorcc9900; STICKLINE(趋势<=13 AND Var4>13,0,50,5,0),color0099ff; Var5:=FILTER((趋势<=13 AND Var4>13),10); DRAWTEXT(Var5,60,'买入'),color0099ff; STICKLINE(趋势>=90 AND Var4,0,30,5,0),colorgray; Var6:=FILTER(趋势>=90,10); DRAWTEXT(Var6,40,'清仓'),colorgray;
Var7:=LLV(LOW,30); Var8:=HHV(HIGH,30); Var9:=EMA((CLOSE-Var7)/(Var8-Var7)*4,4)*25; STICKLINE(Var9>90,100,105,10,2),COLORRED; STICKLINE(CROSS(Var4,-40),10,55,6,0),COLORRED; Var10:=(Var9-LLV(Var9,4))/(HHV(Var9,4)-LLV(Var9,4))*100; DRAWTEXT(IF(CROSS(Var9,Var10) AND Var9>87,95,0),88,'险'),Color00FF00,ALIGN1; DRAWICON(CROSS(90,Var9),95,9); Var11:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1)*100; Var12:=HHV(Var11,30)*8; 火焰山:EMA(IF(LOW<=Var7 AND 趋势<40,(Var11+Var12),0),3)/618,COLORRED,linethick2; STICKLINE(火焰山>0,0 ,火焰山*1.2,8,0 ),COLORRED; Var13:=(MA(C,1)+MA(C,3)+MA(C,5)+MA(C,7)+MA(C,9))/5; Var14:=(MA(C,2)+MA(C,4)+MA(C,6)+MA(C,8)+MA(C,10))/5; 趋势线: 趋势,colorff0000; Var16:=MAX(EMA(Var13,2)-EMA(Var14,5),0)*200; Var17:=EMA(Var16,5); 波浪峰:Var17,stick,colorff00ff; STICKLINE(Var17<REF(Var17,1),0,Var17,1,0),color00ff00; Var18:=MA(趋势线,8); if(CROSS(Var2,Var18) AND Var2<15,50,0),COLORRED; DRAWTEXT(CROSS(趋势线,Var2)AND 趋势线>REF(趋势线,1)AND 趋势线<50,50,'追涨'),COLORFF0000;
分析:这个公式输出语句非常多,但多数都是用于趋势判断的。所以不用管它。仍按我们既定的思路进行。 第一步{从后往前找},先删除发出信号关键语句之后的(红色为输出语句,它以下的语句已经删去,蓝色为等待下步删除的) A01:=DYNAINFO(7); A03:=BARSCOUNT(CLOSE); A04:=(SMA((CLOSE / HHV(HIGH,120)),3,1) * 100); A05:=IF((A03 > 20),A04,0); A06:=IF((LOW > A01),0,IF((HIGH < A01),1,(((A01 - LOW) + 0.009) / ((HIGH - LOW) + 0.009)))); A07:=DMA(A06,(VOL / CAPITAL)) * 60; A09:=IF((((A07 > 0) AND (A07 > REF(A07,1))) AND (A05 <= 88)),A07,0); Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1); Var2:=EMA(Var1,8); Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; FILLRGN(趋势>80,趋势,80); DRAWICON(CROSS(趋势,0),0,1); FILLRGN((A09 > 0 AND (趋势<20 OR 趋势>REF(趋势,1)AND 趋势<50)),0,A09),colorFFFF00; 机构建仓区:0,LINETHICK0,colorFFFF00; Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; STICKLINE(趋势<=13,0,20,5,0),colorcc9900; DRAWTEXT(FILTER(趋势<=13,15),30,'准备现金'),colorcc9900; STICKLINE(趋势<=13 AND Var4>13,0,50,5,0),color0099ff; Var5:=FILTER((趋势<=13 AND Var4>13),10); DRAWTEXT(Var5,60,'买入'),color0099ff;
第二步{删除没用条}后 Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; DRAWICON(CROSS(趋势,0),0,1); Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; Var5:=FILTER((趋势<=13 AND Var4>13),10); DRAWTEXT(Var5,60,'买入'),color0099ff; 第三步{去掉修饰符后}: 趋势:=EMA(Var3,3)-10; CROSS(趋势,0); Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; Var5:=FILTER((趋势<=13 AND Var4>13),10); Var5; 第四步{个别加等号}本公式中的“条件”语句都是不输出的,所以此项省略,但因是要笑脸和买入两个信号,所以还必须把它们连结起来: Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; Var5:=FILTER((趋势<=13 AND Var4>13),10); CROSS(趋势,0)or Var5;
第八讲:函数的综合运用
第一部分:引用已有公式中的数据 基本引用例一 "macd. diff", "macd.dea"; 基本格式: 指标名称 语句名称 (注意:必须用双引号引上) 加入参数例二 "kdj. k" (9,3,3) ; 基本格式:指标名称 语句名称 参数 (指标名称和语句名称之间用隔点.隔开) 加入参数例三 周m:"macd. diff #WEEK"; 引用周线:指标名称 语句名称 周函数 (注意:周函数前加#字号) 月K:"kdj.k#MONTH"; 引用月线同上,只是换成月函数。 - 应用实例:主图 顶底背离
A1:=BARSLAST(ref(cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)),1)); B1:=ref(c,A1+1)>c and ref("macd.diff"(12,26,9),A1+1)<"macd.diff"(12,26,9) and cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)); MACD底背离:STICKLINE(FILTER(B1>0,5),0,0.75,3,0),COLOR00FF00; DRAWTEXT(FILTER(B1>0,5),0.57,'MACD底背离'),COLOR00FF00; A2:=BARSLAST(ref(cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)),1)); B2:=ref(c,A2+1)>c and ref("kdj.k"(9,3,3),A2+1)<"kdj.k"(9,3,3) and cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)); KDJ底背离:STICKLINE(FILTER(B2>0,5),0,1,3,0),COLORYELLOW; DRAWTEXT(FILTER(B2>0,5),0.80,'KDJ底背离'),COLORYELLOW; A3:=BARSLAST(ref(cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1)); B3:=ref(c,A3+1)>c and ref("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) and cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)); RSI底背离:STICKLINE(FILTER(B3>0,5),0,0.5,3,0),COLORFFCC66; DRAWTEXT(FILTER(B3>0,5),0.25,'RSI底背离'),COLORFFCC66; DRAWTEXT(FILTER(D1>0,5),1.47,'MACD顶背离'),COLOR0066FF; C2:=BARSLAST(ref(cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)),1)); D2:=ref(c,C2+1)"kdj.k"(9,3,3) and cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)); KDJ顶背离:STICKLINE(FILTER(D2>0,5),2,1,3,0),COLORRED; DRAWTEXT(FILTER(D2>0,5),1.2,'KDJ顶背离'),COLORRED; C3:=BARSLAST(ref(cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1)); D3:=ref(c,C3+1)"RSI.RSI1"(6,12,24) and cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)); RSI顶背离:STICKLINE(FILTER(D3>0,5),2,1.5,3,0),COLORFF00FF; DRAWTEXT(FILTER(D3>0,5),1.75,'RSI顶背离'),COLORFF00FF;
第二部分 逐步增加函数 以均线为例,主图: 基本句型 MA5:MA(C,5); MA10:MA(C,10); MA30:MA(C,30); MA60:MA(C,60); 增加颜色(注:在没有颜色输出符号时,系统会自动加上颜色) MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW; 将10日均线变成小圆圈线 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW; 将60日均线加粗 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW,LINETHICK3; 在5日均线金叉10日均线处显示符号 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW,LINETHICK3; 金叉:=CROSS(MA5,MA10); DRAWICON(金叉,L,1); DRAWTEXT(金叉,L,'金叉'); STICKLINE(金叉,H,L,6,0); (注:这三种显示方式用其中一种就行) 30日均线向上时显示红色,否则为绿色 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW,LINETHICK3; 金叉:=CROSS(MA5,MA10); DRAWICON(金叉,L,1); DRAWTEXT(金叉,L,'金叉'); STICKLINE(金叉,H,L,6,0); PARTLINE(MA30>=REF(MA30,1),MA30),COLORRED; PARTLINE(MA30<REF(MA30,1),MA30),COLOR00FF00; (注:最后两行为划分段线,大智慧没有此项功能,大智慧2和分析家 同花顺用下面这行) PARTLINE(MA30,MA30>=REF(MA30,1),RGB(255,0,0),MA30<REF(MA30,1),RGB(0,255,0),1); 通达信用下面这两行: IF(MA30>=REF(MA30,1),MA30,DRAWNULL),COLORRED; IF(MA30<REF(MA30,1),MA30,DRAWNULL),COLOR00FF00;
第九讲:常用函数示例
系统中的函数非常多,其中的一些函数只有在特定的语句中才会用得到。本文介绍几个能经常用到函数,方便大家在以后编写时使用。 1、COUNT 统计总数 原理:COUNT (X,N),统计N周期中满足条件X的周期数,若N=0则从第一个有效值开始。 例如:COUNT(C<O,10),表示统计10周期内收阴的周期数。 以前曾列举过这个函数,今天单独拿出来,是想进一步说明它的应用原理。以上面这个例子,单独使用是没有任何意义的。如语句:金叉 AND COUNT(C<O,10); 其输出结果还是:金叉,后面的半句没有起到作用。 那么怎么才能发挥它的作用呢?还必须在它的后面加上我们要求的条件。如:10周期内收阴的周期数大于7,完整的表达式:金叉AND COUNT(C<O,10)>7; 再举几个例子: 成交量连续5天上升:COUNT(VOL>(VOL,1),5)=5; 如果求5天内只能1天上升:COUNT(VOL>(VOL,1),5)=1; 如果在5天内成交量大于5日均量有2天以上呢COUNT(VOL>MA(VOL,5),5)>=2;
2、FILTER 信号过滤 用法:FILTER(X,N),X满足条件后,将其后N周期内的数据置为0。此函数常应用于画图标、显示文字以及选股公式出现连续信号时。 例如:当3日均线和5日均线金叉时在最低价位置标记“金叉”: MA3:=MA(CLOSE,3); MA5:=MA(CLOSE,5); AA:=CROSS(MA3,MA5); DRAWTEXT(AA,L,'金叉'); 这样有时就会出现“金叉”字重叠现象,杂乱难看。若过滤一下,舍去5天内重复出现的,则最后一句改为: DRAWTEXT(FILTER(AA,5),L,'金叉');就不会出现信号过多的现象了。
3、SUM 求和 用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。 例如:SUM(VOL,10),表示统计从10周期以来的成交量总和。这个好理解,就不多说了。
4、HHV 最高值 用法:HHV(X,N),求N周期内X的最高值,N=0则从第一个有效值开始。 例如:HHV(HIGH,30),表示求30日最高价。那么10天内的最高收盘价呢?HHV(C,10)。 另外还有一个与此相反的函数 最低值 LLV 原理与此相同。
5、MAX 最大值 用法:MAX(A,B)返回A和B中的较大值 例如:MAX(C,0),表示取得收盘价和开盘价中较大的值。若求开盘价、收盘价和昨天收盘价中的最大值,则:MAX(MAX(C,0),REF(C,1));就是叠加一个最大值函数。 另外,还有一个相反函数:MIN,最小值,原理与最大值相同。 注:最大值与最高值是不能混用的。
6、COST 成本分布 用法:COST(20) 表示20%获利盘的价格是多少 即有20%的持仓量在该价格以下,其余80%在该价格以上,为套牢盘。 7、WINNER 获利盘比例 与成本分布相对应,都是计算获利情况的。 WINNER(10) 表示10元价格的获利盘比例; WINNER(CLOSE) 表示以收盘价卖出的获利盘比例,如该值返回0.2,表示在当天的收盘价上卖出,只有20%的人是赚钱的。 以上两个函数仅对日线分析周期比较有效。 以上两个函数在有些股软或《未来函数检测器》中被认定为未来函数。 据有人考证,该函数的在极个别的情况下确实出现过信号漂移现象。但一般情况下还是比较稳定的。
第十讲:系统常用指标原理解析
(说明:本文内容为已有书籍中摘录整理,与同学们共享)
例一、BIAS乖离率 指标原理:BIAS是运用股价指数与移动平均值的比值关系,观测股价偏离移动平均线的程度,以此决定投资者的买卖行为。 计算方法 :(当日收盘价-当日MA均线值)/当日MA均线值*100 BIAS1:(CLOSE,MA(CLOSE,L1))/MA(CLOSE,L1)*100; BIAS2:(CLOSE,MA(CLOSE,L2))/MA(CLOSE,L2)*100; BIAS3:(CLOSE,MA(CLOSE,L3))/MA(CLOSE,L3)*100; 应用原则:偏离率与移动平均值一致时,偏率为0,偏离率为正值时,偏离率在移动平均线上方,说明股市呈上升趋势;偏离率为负值时,偏离率在移动平均线下方,说明股市有下跌趋势;Y值偏离移动移动平均线的界定范围大体在15%至-15%,即:当Y值在0-15%时,可适当卖出股票,股价有可能反跌,当Y值在0-15%时,可适当买入股票,股价有可能反弹。
例二、MACD(柱线的编写实例) 指标原理:MACD实质上是基于BIAS乖离率的变形应用。它是利用二条不同速度(一条变动的速率快--短期的移动平均线,另一条较慢--长期的移动平均线)的指数平滑移动平均线来计算,二者之间的差异状况(DIF)作为研判行情的基础,然后再求其DIF之9日平滑移动平均线,即MACD线,MACD实际就是运用快速与慢速移动平均线聚合与分离的征兆,来研判买进与卖出的时机和讯号。 计算方法:EMA:指数平滑移动平均线 N:周期 DIFF:乖离率 DEA:离差平均值 移动平均线(12日EMA)=前一日EMA*/1-2/(N+1)+今日收盘价*2/(N+1)
DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:EMA(DIFF,M); MACD:2*(DIFF-DEA),COLORSTICK; 在最后一句话当中,2是实际一个常数参数,它在这里的作用在于放大效果。 应用原则: 1、DIF与DEA均为正值时,大势属多头市场; 2、DIF与DEA均为负值时,大势属空头市场; 3、DIF向上突破DEA时,可买入; 4、DIF向下突破DEA时,应卖出;
例三、RSI指标 指标原理:该指标根据估价“择强汰弱”的原理,以特定时期内股价的变动情况推测价格未来的变动方向,并根据股价涨跌幅度显示市场的强弱,通过比较一段时期内的平均收益涨数和平均收盘跌数来分析市场买卖盘的意向和实力,从而作出未来市场的走势的分析。 计算方法:计算公式为:rsi=n日内收盘涨幅平均值/n日内收盘涨跌幅绝对值的平均值的平均值*100。 编写要点:该指标由两条指标线组成,编写出其一,其他的依次类推;涨幅的表达用“今日收盘-前日收盘”,即“LC:=CLOSE-REF(CLOSE,1)”表示;ABS(X)表示求得绝对值;MAX(CLOSE-LC,0),表示如果本周期上涨即得上涨值,否则取0,很多时候我们利用MAX函数使变量和0进行比较,然后求得变量中的正值。 LC:=REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100; RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100; RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100; 应用原理: RSI取值超过50,表明市场进入强势。RSI低于50,表明市场处于弱势。 短期的RSI在20以下的水平,由下往上交叉长期的RSI时,为买进讯号。短期的RSI在80以上的水平,由上往下交叉长期的RSI时,为卖出讯号。 从RSI与股价的背离方面判断行情,RSI处于高位,并形成一峰比一峰低的两个峰,而此时,股价却对应的是一峰比一峰高,这叫顶背离。股价这一涨是最后的衰竭动作。这是比较强烈的卖出信号。RSI在低位形成两个依次上升的谷底,而股价还在下降,这是最后一跌或者说是接近最后一跌,是可以开始建仓的信号。 连接RSI连续的两个底部,划出一条由左向右上方倾斜的切线,当RSI向下跌破这条切线时,是一个很好的卖出讯号。连接RSI连续的两个峰顶,划出一条由左向右下方倾斜的切线,当RSI向上突破这条切线时,是一个很好的买进讯号。
例四、KDJ指标 KDJ随机指标是欧美期货常用的一套技术分析工具。KD线的随机观念,远比移动平均线实用很多。因为移动平均线在习惯上其以收盘价来计算,无法表现出一段行情的真正波幅。 编写要点:RSV的计算方法为收盘价和N1天内的最高和最低的差的比值,使用函数HHV、LLV可以轻松地得到最高和最低; RSV:=(CLOSE-LLV(LOW《N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100; K:SMA(RSV,N2,1); D:SMA(K,N3,1); J:3K-2D 买卖原则:K值由右边向下交叉D值作卖,K值由右边向上交叉D值作买。 D值<20%超卖,D值>80%超买;J>100%超买,J<100%超卖,KD值于50%左右徘徊或交叉时,无意义。
例五、OBV指标 指标原理:有些人把每一天的成交量看作像海里的潮汐一样,形象地称OBV为能量潮。我们可以利用OBV验证当前股价走势的可靠性,并可以由OBV得到趋势可能反转的信号,对于准确预测未来是很有用的,比起单独使用成交量,OBV比成交量看得清楚。 计算方法:OBV构成的基本原理,是根据潮涨潮落的原理。每一天的成交量可以理解成潮水,但这股潮水是向上还是向下,是保持原来的方法,还是中途回落?这个问题就有当天的收盘价与昨天的收盘价的大小比较而决定。 1、如果今收盘价≥昨收盘价,则这一潮水属于多方的潮水, 2、如果今收盘价<昨收盘价,则这一潮水属于空方的潮水。 SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),-VOL,0)),0) 买卖原则:OBV不能单独使用,必须用股价曲线结合使用才能发挥作用。从OBV的取值大小不能得到任何结论。我们关心的只是近日的OBV曲线的相对走势,而OBV的取值的绝对数字对我们是没有用处的。OBV曲线的上升和下降对我们进一步确认当前股价的趋势有着很重要的作用。股价上升(或下降),而OBV也相应地上升(或下降),则我们可以更相信当前的上升(或下降)趋势。股价上升(或下降),但OBV并未相应的上升(或下降),则我们对目前的上升(或下降)趋势的认可程度就要打折扣。这就是背离现象。OBV已经提前告诉我们趋势的后劲不足,有反转的可能。在股价进入盘整区后,OBV曲线会率先显露出脱离盘整的信号,向上或向下突破。
例六、BOLL指标 指标原理:利用统计学原理,求出股价的标准差及其信赖区间,其上下限的范围不被固定,随股价的变动而表动。 计算方法:先规定一个标准差,再求算出一个上下限波动区间,其波动的上下限随股价浮动。 MID=N天的收盘价的均价; STD=N天的收盘价的标准差; UPPER=MID+离差系数*STD; LOWER=MIN-离差系数*STD; 编写要点:STD(X,N)表示计算标准差。首先得到一段时间N天的MA,然后按照您要设定的参数赋与标准差之后加减即得到上下两根BOLL线,中间的通道为BOLL通道。 MID:MA(CLOSE,N); UPPER:MID+P*STD(CLOSE,N); LOWER:MID-P*STD(CLOSE,N); 买卖原则: 1、当布林通道由宽变窄时,说明股价逐渐向中值回归,股市进入一个整理区间,投资者应以观望为主。 2、当通道由窄变宽时,意味着行情开始发生变化,如果股价逼近或穿过上限值,表明超买力量增强,股市可能会短期下跌,此时应卖出股票,反之,当股价逼近或穿过下限值时,表明超卖力量增强,股市可能会短期反弹,此时应买进股票。 3、柱体在布林通道中沿上限线运行,意味涨幅会持续。
例七、威廉指标W&R 指标原理:威廉指标是一种利用振荡点来反映市场超买超卖现象,预测循环周期内的高点和低点,从而提出有效的信号来分析市场短期行情走势,判断股市强弱分界的技术指标。 AA:=(HHV(HIGH,N)-CLOSE); BB:=(HHV(HIGH,N)-LLV(LOW,N)); W&R:100*AA/BB 买卖原则:当W&R高于80%,即处于超卖状态,行情即将见底,应当考虑买入。W&R低于20%,即处于超买状态,行情即将见顶,应当考虑卖出。在W&R进入高位后,一般要回头,如果这时股价还继续下跌,这就产生背离,是进货的信号。在W&R进入低位后,一般要反转,如果这时股价还继续上升,这就产生背离,是卖出的信号。W&R连续几次撞顶(底),局部形成双重或多重底(顶)则是(进货)出货的信号。
|