指标公式教学(三)
标签:
错误第一次不知道收盘价最大值股票 |
分类: 技术探讨 |
(主要为技术指标,各软件通用)
七.【参数栏的写法】
七. 【参数栏的写法】
有些公式或函数,为了让使用者,可以按照自己的意思改变(如日期.天数等),而刻意使用了参数,
这给了使用者大大的方便,不必再到公式里改数字,直接调整参数即可
那如果我们要设计公式或接到公式源码的时候,要如何在参数表写公式呢?
首先我们要知道参数表有[参数名].[缺省](预设).[最小]. [最大].[步数]五大元素,分别介绍如下:
例:设公式为
{N:3,1,100,1
K1:CLOSE N;
K2:VOL
M;
1. 参数名----写公式者所定义的参数名称,例句为N 及 M
2.
缺
3.
最
4.
最
5.
步
1表示每点一次跳1,例句为1及1
http://www.chcj.net/images/default/attachimg.gif
http://www.chcj.net/attachments/month_1003/20100311_114e8af213932eb263a6zSgywZGQGNZd.png
注意:
7.1 [缺省]一定要大于等于[最小],小于等于[最大],所以看前3个数,不大不小的值即为预设值
7.2 每个软件顺序并不一定一样,[缺省]有的软件会在[最大]的后面,
7.3 若公式只写{N=3},则除参数名及缺省外其余可自填,但须注意[最小]须比3小, [最大]须比3大.
八. 【常用平均线的定义及算法】
MA是最常用平均线,专业术语叫简单移动平均,采用算数平均,
也就是说看要几天的平均值,我们就把这几天的值相加再除以几天,这样就得出平均值,
但在这里,我们必须先告诉电脑,我们要算哪一个数据的值?是收盘.开盘.高价.低价.成交量或其他?
所以这个MA函数须有两个参数,分别是数据名称及天数,这样电脑就可以据此自动算出我们想要的值.
完整的MA函数写为MA(X,N) (X代表数据名称,N代表天数)
例:
MA(C,5) 代表最近5天的收盘总合/5 (即收盘价的5日平均线)
MA(V,10) 代表最近10天的成交量总合/10 (即成交量的10日平均线)
MA(C,M) {M 3,1,100} 代表最近M天的收盘总合/M (即收盘价的M日平均线)
注:一般若未特别注明,指的皆是收盘价的平均线.
九【常用的有过滤性质的函数或用法】
9.1 条件选股
条件选股的意义,就是要选出输出1
条件选股其实说穿了,就一句话:单一输出的条件式,
也就是说,不管公式有多长,若要做为条件选股的话就只能有一个式子输出,且须为条件式,
此时,当条件成立时,电脑会输出1,然后就会被选出
如:
K1:=MA(C,5);
K2:=MA(C,10);
K1>K2;
若
K1:=MA(C,5);
K2:=MA(C,10);
K3:=MA(C,15);
K1>K2;
K2>K3;
这样有2个输出值,就不能成为选股公式
须去其一
9.2. CROSS(A,B)
CROSS函数本义为由[下]穿[上](线不一定向上), CROSS(A,B)表示A穿过B而上,
反之,若要表示A下穿B,则可用B上穿A表示,CROSS(B,A) 表示B穿过A而上,(即A下穿B)
重要技巧:
我们可以利用CROSS的穿越特性,来过滤条件式,
挑选出连续符合条件信号中的第一次符合条件,接下来的不选.
因为若符合条件时,电脑会输出1,否则会输出0,
所以第一次符合条件时,其值会由前一K线的0,变成该K线的1,
因此要选出第一次符合条件,只要我们设该值穿越0.5即可,(不一定要用0.5,0.1~0.9皆可),
如:选出每一次的”第一次[收盘]大于[开盘]”,我们就可写成
CROSS(CLOSE>OPEN,0.5);
CROSS函数是过虑掉第一次符合条件后的连续信号
但假如我们只要几日内不显示,则须要应用到FILTER函数
,
9.3. FILTER(条件,K线数)
FILTER本义为若符合条件输出1后,在其后的指定K线数内,不管符合不符合条件,均设为0
如:若在[日线]
表示符合[收盘]大于[开盘]{收红},输出1(显示)后,其后的5天不管有没有再收红均输出0 (不显示).
9.4. IF(条件,A,B)
IF我们直接翻译成若是比较明白, IF(条件,A,B) 直接翻译就成若符合条件则输出A,否则输出B
例如:
IF(CLOSE>OPEN,2,3)
小技巧:
IF可以连环套,至于可套几层,则每个软件均不同
例如:
IF(CLOSE>OPEN,2,
IF(CLOSE>REF(CLOSE),5,0));
表示若收红则输出2,其余若收盘大于昨收,则输出5,再其余的则输出0,
不过连环套须特别注意括号数目,否则会通不过
IF连环套的做法:
IF虽然可以做成连环套,但很容易错误,因此我特别再强调说明IF连环套的做法,
例如:
若条件1>条件2,则输出5,其余若条件3>条件4,则输出10,其余若条件5>条件6,则输出20,否则输出0,
一开始,接到这个题目,会无所适从,不过,只要大家按我的方法去做,人人都可以套得很正确,
步骤1. 写出每个IF的完整语句,有几个就写出几个,此句有3个IF要写,分别为:
a.
b.
c.
步骤2. 整合所有IF句子
这里有个小技巧,就是不管有几个句子,永远由最后一句往前套,套的时候,将后一句套入前一句的x处,
讲简单一点,就是把前一句的X,置换成下一句,例如此例:
1.
IF(条件3>条件4,10,C句) =>
IF(条件3>条件4,10, IF(条件5>条件6,20,0))
2.
IF(条件1>条件2,5,上式) =>
IF(条件1>条件2,5,IF(条件3>条件4,10, IF(条件5>条件6,20,0)));
注意:最后不要忘记在最后加”;”号

加载中…