股票选股公式编写教程第一讲:认识公式编辑器公式编辑器是导入源码和进行编写指标的窗口。公式编辑器共分4种,分别是:1、技术指标公式编辑器;2、条件选股公式编辑器;3、交易系统公式编辑器;4、五彩K线公式编辑器。由于这几种编辑器的展开和使用大同小异。所以,本文仅以技术指标公式编辑器为例加以说明。由于目前各种股软的区别,不仅有些函数不通用,编辑器的打开方式也略有区别。本讲就是告诉大家如何展开公式编辑器。以下共分5个图片说明打开《公式编辑器》的方法:第二讲:公式编写的基础函数打开技术指标公式,我们最常见的,它的组成不外乎两种情况,一是K线,二是均线。其他诸如柱状线,彩带,分段线等等,都是在K线或均线基础上的延伸或变形。为此,我们先熟悉一下构成这两种状态的基本函数。一、K线函数非常简单,大家都可能熟知。作为基础,还是说明一下。1、开盘价:OPEN可简写为O2、最高价:HIGH可简写为H3、最低价:LOW可简写为L4、收盘价:CLOSE可简写为C有了这4个函数,就可构成一根K线了。比如:收盘价小于开盘价,即阴线:Co;收阳线则互为相反。那么长下影的光头阳线,即T形线呢?理解了原理,也很简单。一要以最高价收盘(否则有上影),二要开盘价大于最低价。所以有如下表示:C=HANDOL;这里我们没有考虑下影的长度和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就是“和”的意思。如:AANDB;就是A和B两个条件要同时成立。2、OR“或”,“或者”的意思。如:AORB;就是A和B两个条件有其中一个成立就行。3、IF根据条件取不同的值。如:IF(X,A,B),若X不为0则返回A,否则返回B。实例:IF(CO,L,H),表示收阴返回最低价,否则返回最高价。4、CROSS交叉函数。CROSS(A,B),表示A从下方向上穿过B。5、REF向前引用。引用若干周期前的数据。例如:REF(CLOSE,1),表示昨收的收盘价。那么前天的最高价呢,就是:REF(H,2)。四、成交量VOL表示每天的成交量。因以后会经常用到,所以先交待给大家。上面这几个函数是最常用的,希望大家记住,不知怎么写也要知道其表述的意思。当然,记不住也不要紧,《公式编辑器》中全有。习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。听雪寻股习题:一根光头阳线,实体部分小于5分钱,下影超过实体的两倍,如何表述?c=handc-o0.05ando-l(c-o)*2;STICKLINE(c=handc-o0.05ando-l(c-o)*2,o,c,8,1),COLORRED;STICKLINE(c=handc-o0.05ando-l(c-o)*2,o,l,1,0),COLORRED;习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。aa10:=ma(c,10);aa20:=ma(c,20);zf:=if((c-ref(c,1))/ref(c,1)*1003,1,0);av:=v=ref(v,1)*2;CROSS(aa10,aa20)andzfandav以上作业请老师批阅大庆老杨老师批改如下此句zf:=if((c-ref(c,1))/ref(c,1)*1003,1,0);如下表述更简练些:zf:=c/ref(c,1)0.03;关于两个习题,听雪寻股都回答的非常好,完全正确。已加分鼓励。其实,有时编写公式就这么简单。以上就可看做是两个选股公式。此句zf:=if((c-ref(c,1))/ref(c,1)*1003,1,0);如下表述更简练些:zf:=c/ref(c,1)0.03;单独提出此句,是告诉大家。编写公式和数学解题一样,有很多时候可能有多种方法,殊途同归。这也是有时对于同一求助问题,不同的人有不同的回复一样。这个习题,运用了第二讲中的内容:1,涨幅,就是收盘价与昨天的收盘价之比。2,昨天的表示符号(向前引用函数)和其他运算符号。网通用户习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。答:CROSS(MA(CLOSE,10),MA(CLOSE,20))ANDC/REF(CLOSE,1)3/100ANDVOL/REF(VOL,1)=2方方面面2008习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。答:CROSS(MA(CLOSE,10),MA(CLOSE,20))ANDC>0.03*REF(CLOSE,1)ANDVOL>=2*VOLREF(VOL,1)大庆老杨基本正确。用一句话概括,精简。需要指出的是最后一句:“成交量比昨天放大一倍”,这句话的表述。老兄用的是:VOL/REF(VOL,1)=2,应该是非常准确。但在实际应用中,却是行不通的。正好等于2倍是极难遇到的,所以编写公式变通的办法,或者说应该用的是:VOL/REF(VOL,1)=2,更符合实际。增加一个大于号,成为问题的关键所在。提出这个问题,并非小题大作,应该看做以后编写时的注意事项。第三讲:认识颜色符号或绘图函数我们所看到的指标是以线为基础的。不论是均线,K线,或在线与点之间的填充,又都离不开颜色。正是有了五颜六色才使得图形丰富多采,便于区分,或者更具立体感。本讲就是告诉大家如何利用颜色或修改颜色。一、颜色函数(一)基本符号:COLOR所有显示颜色时,都必须用这个符号做为引导。但它本身并没有色彩,在它的后面还需加上具体的颜色,才能使用。举例:COLORBLACK;后面加上英文的黑色单词,在图中就会显示出黑色来了。(二)常用颜色:颜色1:飞狐的:2、大智慧23、大智慧4、通达信5、同花顺6、通用符号红色COLORRED;同前同前与飞狐基本相通同前白色COLORWHITE;同前同前一般不用修改以下略--黄色COLORYELLOW;同前同前以下略--黑色COLORBLACK;同前蓝色COLORBLUE;同前同前COLORFFFF00棕色COLORBROWN;同前COLOR0055FF青色(淡蓝)COLORCYAN;同前COLORFFFF00COLORF0F000灰色COLORGRAY;同前同前绿色COLORGREEN;同前同前COLOR00FF00晶红色(粉)COLORMAGENTA;同前COLORff00ffCOLORF00FF0此外还有:金黄色COLOR008364紫红COLOR000999深黄色COLOR00CCCC紫罗蓝COLORE66878等等。(三)常见颜色问题。从上表中我们可以看出,大部分颜色符号是通用的。但在将源码粘贴时,因股软的不同,有时会出现《未定义的标识符》字样,很多时候就是颜色惹的祸。常见的是:COLORCYAN淡蓝色,大智慧不识别,需改成:COLORFF0000COLORMAGENTA晶红色,大智慧不识别,需改成: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在图形上显示文字。这也是最常用的绘图函数之一。用法:DRAWTEXT(条件,位置,文字),注意,文字必须用单引号''引上才能输出。飞狐可用'\n'换行,飞狐和大智慧2可用ALIGN0-3定义对齐方式。3、STICKLINE在图形上绘制柱线。用法:STICKLINE(条件,上位置,下位置,宽度,实体或空心)。此函数股软通用。宽度最大为10(一般K线的宽度为6)。0--画实心柱,1--画空心柱。4、PARTLINE分段绘制指标线。飞狐用法:PARTLINE(条件,需要变色的线)。例如:PARTLINE(CREF(C,1),C),colorred表示收盘大于前收以红色绘制收盘价连线。大智慧2用法:PARTLINE(需要变色的线,条件1,条件1用的颜色,条件2,条件2用的颜色...),最多可以有10组条件。例如:PARTLINE(C,CO,RGB(255,0,0),CORGB(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(MA1MA2,MA1,MA2),colorred表示MA1MA2时以红色填充MA1和MA2之间的区域。大智慧2用法:FILLRGN(线1,线2,条件1,颜色1,条件2,颜色2...),填充条件1到条件2之间的区域,当条件1满足时,用颜色1,当条件2满足时,用颜色2,否则不填充,最多可以有10组条件。例如:FILLRGN(CL