当前位置:文档之家› 选股器编辑方法

选股器编辑方法

选股器编辑方法
选股器编辑方法

0

A5:=MA(C,5);

A60:=MA(C,60);

AA:=CROSS(A5,A60);

B:=CROSS(MACD.DIF(12,26,9),0);

DRAWICON(AA AND B,LOW,1)

第二讲:公式编写的基础函数

打开技术指标公式,我们最常见的,它的组成不外乎两种情况,一是K线,二是均线。其他诸如柱状线,彩带,分段线等等,都是在K线或均线基础上的延伸或变形。为此,我们先熟悉一下构成这两种状态的基本函数。

一、K线函数

非常简单,大家都可能熟知。作为基础,还是说明一下。

1、开盘价:OPEN 可简写为O

2、最高价:HIGH 可简写为H

3、最低价smi49liesOW 可简写为L

4、收盘价:CLOSE 可简写为 C

有了这4个函数,就可构成一根K线了。比如:收盘价小于开盘价,即阴线:C

那么长下影的光头阳线,即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

4、CROSS 交叉函数。CROSS(A,B),表示A从下方向上穿过B。

5、REF 向前引用。引用若干周期前的数据。例如:REF(CLOSE,1),表示昨收的收盘价。那么前天的最高价呢,就是:REF(H,2)。

四、成交量

VOL 表示每天的成交量。因以后会经常用到,所以先交待给大家。

上面这几个函数是最常用的,希望大家记住,不知怎么写也要知道其表述的意思。当然,记不住也不要紧,《公式编辑器》中全有。

习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。

第四讲:源码的引入和修改

(据本人所发《公式源码的引入方法》一文修改补充)

(一)在各种股软中的引入方法

股软之间虽然区别较大,但有一个共同点,就是第一步都是打开公式编辑器。下面再分别简要说明一下:

一、大智慧

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),,colorma genta;

此句可能存在两个问题,一是后面有两个“逗号”,对于飞狐等通过,而对于大智慧2和分析家等,则是问题,必须删去一个。反之,一个没有也不行。二是后面的colormagenta,大智慧是不认识的。换成通用的:colorf00ff0就行了。

6、是否输出与颜色标识问题

例:

仓:=EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),colorma genta,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

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(AAREF(AA,5);

5、年线拐头向上

A250:=MA(C,250);

REF(A250,1)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

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

(注:最后两行为划分段线,大智慧没有此项功能,大智慧2和分析家同花顺用下面这行)

PARTLINE(MA30,MA30>=REF(MA30,1),RGB(255,0,0),MA30

通达信用下面这两行:

IF(MA30>=REF(MA30,1),MA30,DRAWNULL),COLORRED;

IF(MA30

第九讲:常用函数示例

系统中的函数非常多,其中的一些函数只有在特定的语句中才会用得到。本文介绍几个能经常用到函数,方便大家在以后编写时使用。

1、COUNT 统计总数

原理:COUNT (X,N),统计N周期中满足条件X的周期数,若N=0则从第一个有效值开始。

例如:COUNT(C

以前曾列举过这个函数,今天单独拿出来,是想进一步说明它的应用原理。以上面这个例子,单独使用是没有任何意义的。如语句:金叉AND

COUNT(C

那么怎么才能发挥它的作用呢?还必须在它的后面加上我们要求的条件。如:10周期内收阴的周期数大于7,完整的表达式:金叉AND COUNT(C7; 再举几个例子:

成交量连续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,表明市场

相关主题
文本预览
相关文档 最新文档