股票公式编辑学.docx
《股票公式编辑学.docx》由会员分享,可在线阅读,更多相关《股票公式编辑学.docx(21页珍藏版)》请在冰豆网上搜索。
股票公式编辑学
股票公式编辑学
第一讲:
认识公式编辑器
公式编辑器是导入源码和进行编写指标的窗口。
公式编辑器共分4种,分别是:
1、技术指标公式编辑器;
2、条件选股公式编辑器;
3、交易系统公式编辑器;
4、五彩K线公式编辑器。
由于这几种编辑器的展开和使用大同小异。
所以,本文仅以技术指标公式编辑器为例加以说明。
由于目前各种股软的区别,不仅有些函数不通用,编辑器的打开方式也略有区别。
本讲就是告诉大家如何展开公式编辑器。
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 那么长下影的光头阳线,即 T 形线呢?
理解了原理,也很简单。
一要以最高价收盘(否则有上影),二要开盘价大于最低价。
所以有如下表示:
C=HANDO>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 表示每天的成交量。
因以后会经常用到,所以先交待给大家。
上面这几个函数是最常用的,希望大家记住,不知怎么写也要知道其表述的意思。
当然,记不住也不要紧,《公式编辑器》中全有。
第三讲:
认识颜色符号或绘图函数
我们所看到的指标是以线为基础的。
不论是均线,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注意最后一个条件为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 其他三种股软好像都没有这项功能。
为了实现这一效果,一般都是用划柱线的方式替代。
注意的是,一般要将宽窄的数字加大,目的是让相邻的柱线合在一起显示出整体的效果。
例:
STICKLINE(J 习题:
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)ANDVar6>0,Var6,Var8,10,0);
DRAWICON(FILTER(Var6>REF(Var6,1)ANDVar6>0,30),-140,4);
DRAWTEXT(FILTER(Var6>REF(Var6,1)ANDVar6>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 ANDC/O<1.94;今天开盘比昨天收盘高出4%和收盘价较开盘下降6%。
低开大阳与此正好相反。
10、标准十字星:
CLOSE=OPENANDHIGH<>LOW
更多见的是近似十字星。
例:
ABS(C-O)<0.02ANDH-C>0.03ANDC-L>0.03;该语句用上了一个函数:
ABS,意思是求绝对值。
这样,该近似十字星即可能是阳星也可能是阴星。
再认识两个函数:
MAX(A,B)求A和B中的最大值。
MIN(A,B)求A和B中的较小值
有了这两个函数,近似十字星还可这样表述:
ABS(C-O)<0.02ANDH>MAX(C,O)ANDL 另外,该公式还可以用比例数编写。
11、长下影线:
也有收阴收阳之分。
以阳线长下影线为例:
C>OAND(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.2ANDVOL>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((UPANDA),1,0),N)=NANDC>O
AND(C-REF(MAX(C,OPEN),1))/REF(MAX(O,C),1)<=(3/100)
ANDVOL/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;