股票自定义指标编写教程.docx
《股票自定义指标编写教程.docx》由会员分享,可在线阅读,更多相关《股票自定义指标编写教程.docx(44页珍藏版)》请在冰豆网上搜索。
股票自定义指标编写教程
教程
一,技术指标公式基础
技术指标公式编辑器是澎博软件公式系统的第一类编辑器,是最基础的编辑器,通过
该编辑器将单调的数据行情转换成为有形的图形世界,转换成为易观察,视觉效果强
烈的曲线,或者其它的图形,便我们获取有益的信息.公式系统有以下特点:
用户
只需要描述一个数据是如计算的,公式系统就能将所有数据计算出来,并以曲线的
形式显示出来.公式系统以时间序列为基础,其计算对象是一组沿时间递增的数据
序列,每一个时间期包含一组数据,公式系统能对其中的任数据进行操作.
1,技术指标公式界面容
A:
每一个指标公式必须有一个名称,这个名称由字母和数字组成,公式
名称在公式中必须是唯一的,公式名称最多15个字符.
B:
公式描述是一段文字,用来简单描述该公式的含义,在公式列表时显
示这段文字,这段文字不宜过长.
C:
主图叠加和副图选项定义了指标显示的位置,是在主图上与K线叠加
还是显示在副图上.
D:
参数定义区:
每一个公式可以设计所需的参数,参数用来替代公式中
所需要的常数,在使用时可以便地调节参数,不必修改公式就可以对计算
法进行调节.参数包括参数名称,最小值,最大值,缺省值,步进值五个
部分,参数名称用于标识参数,计算公式时采用缺省值计算,而最小值和最
大值是参数的调整围,步进值一般取1.
E:
密码,选中该栏目为指标公式加密.
F:
指标公式,为公式编辑的文本区.
G:
用法说明,主要用来描述一个公式如使用,注意事项,计算法,
判断法等等.
2,技术指标公式编写格式和法则
所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的
计算,只要我们掌握了技术指标公式的基本原理,其他的指标公式百变不离
其中.
例如我们在指标公式系统写下公式:
A:
=X+Y;B:
=A/Z;C:
=B*0.618;
分析以上公式,我们可以引出以下相关的格式和法则的结论:
A,数据引用:
a,数据来源
公式中的基本数据来源于接收的每日行情数据,这些数据有行情函数从
数据库中按照一定的式提取,例如,高开低收,成交量,成交额等等.
b,数据类型
按照公式使用的数据类型,系统可以处理的数据分为两类:
变量和常量.
所谓变量就是一个随着时间变化而变化的数据,例如成交量;常量就是
一个永远不变的数据.例如:
每个函数需要的参数可能是变量也可能是常量,
不能随便乱用,函数计算的结果一般是一个变量.
例如计算收盘价均线MA(CLOSE,5),MA函数要求第一个参数为变量,
而CLOSE函数返回的正是一个变量;MA函数要求的第二个参数是常量,5就
是一个常量,所以我们就不能这样书写:
MA(5,CLOSE).
B,特殊数据引用:
经常地编制公式的过程当中,需要使用另外一个指标的值,如果按照通
常的做法,重新编写过这个指标显得很麻烦,因此有必要学习使用如调用
别的指标公式.
基本格式为:
"指标,指标线"(参数)
a,指标和指标线之间用逗号分开,一个指标不一定只有一条指标线,所
以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指
标线.
b,参数在表达式的末尾,必须用括号括起来,参数之间用逗号分开,通
过参数设置可以选择设定该指标的参数,如果参数缺失则表示使用该指标的
默认参数设置.
c,整个表达式用引号引在其中,除参数以外.
例如:
"MACD,DEF"(26,12,9)表示计算MACD指标的DEA指标线,
计算参数为26,12,9,"MACD"(26,12,9)表示该指标的最后一条指标
线,计算参数是26,12,9,"MACD"表示该指标的最后一条指标线并且使用
公式的默认参数.
二,公式的构成
1,公式语句
所有的公式体由若干语句按照一定的格式组成,每个语句表示一个计算
结果,根据各个语句的功能分为两大类语句,一类是赋值语句,一类是中间
表达式.
A,赋值语句:
在技术指标"B;A/Z"和"C;B*0.618"就是分别两条指
标线,语言间用分号隔开.该语句被称为赋值语句,在技术指标当中,赋值
语句的计算结果将会被计算机执行并形成相应的图形.每个语句可以有一个
名称,该名称写在语句的最前面,并用一个冒号将它与语句分隔开.例如:
ST:
MA(CLOSE,5);表示该语句求收盘价的五日均线,语句的名称为ST,
在该语句后的语句中可以直接用ST来替代MA(CLOSE,5),例如:
MA(ST,
5)表示对收盘价的五日均线再求五日平均.
B,中间语句:
一个语句如果不需要显示,可以将它定义为中间语句,例如在上例当中
的第一句"A:
=X+Y;",这样该语句就不会被系统辨认为是指标线了,中间
语句用":
="替代冒号,其他与一般语句完全一样,使用中间语句可以有效
降低公式的书写难度,还可以将需要重复使用的语句定义成中间语句以减少
计算量.
每个公式最多可以分6个语句,中间公式数量没有限制,所有语句之间
需要使用分号隔开.
2,公式计算符
公式计算符将函数连接成为公式,计算分为算术计算符和逻辑计算苻.
A,算术计算符:
包括+,-,*,/,它们分别对计算符两边的数据进行加
减乘除计算,这同一般意义上的算术计算没有差异.
B,逻辑计算苻:
包括>,<,,≥,≤,=,AND,OR八种,分别
表示大于,小于,不等于,大于等于,小于等于,等于,逻辑与,逻辑或运
算,如果条件成立计算结果就等于1,否则等于0,例如:
3+4等于7,4>3
就等于1,3≤12就等于0,"逻辑与"表示两个条件都成立时结果才成立;
"逻辑或"表示两个条件中只要有一个成立结果成立.例如,4>3AND12≥4
的结果等于1,4>3OR3>12的结果等于1.
3,线形描述符
对于技术指标公式可以在语句加上线形描述符,用来表示如画该语句
描述的指标线.
线形描述符号包括以下7种.描述符写在语句后分号前,用逗号将它们
与语句分隔开,例如在上例当中加入一句线形描述符,C:
B*0.618,
COLORSTICK;该语句在被执行时,会在图中添加色彩柱线,该功能在编制MACD
等指标的时候会显出它的用处.
柱状线STICK
彩色柱状线,当值为正时显示虹色,否则显示绿色COLORSTICK
为线形赋色,RED表示红色COLORRED
为线形赋色,BLUE表示蓝色COLORBLUE
为线形赋色,YELLOW表示黄色COLORYELLOW
成交量柱状线,当股价上涨时显示红色空心柱,则显示绿
色实心柱
VOLSTICK
同时画出柱状线和指标线LINESTICK
对线体的粗细作出描述LINETHICK
小叉线CROSSDOT
小圆圈线CIRCLEDOT
小圆点线POINTDOT
A,COLORRED等三个线形描述符还可以自定义颜色,格式为
COLOR+"BBGGRR";BB,GG,RR表示蓝色,绿色和红色的分量,每种颜色的
取值围是00-FF,采用了16进制,例如:
MA5:
MA(CLOSE,5)COLOR00FFFF
表示纯红色与纯绿色的混合色;COLOR808000表示淡蓝色和淡绿色的混合色.
B,LINETHICK可以允对线型的粗细进行自定义的描述,格式
"LINETHICK+(0/7)":
参数的取值围在0-7之间,"LINETHICK0"表示
最细的线,而"LINETHICK7"表示最粗的线.
三,指标公式编写技巧
1,同图绘制多条指标线
例一:
同图绘制5日,10日,20日,和60日均线
指标原理:
移动平均线(MA)是将一段时间的股票价格用数理统计的法加以平
均,再将这些平均价标于图上并用线连接起来即可.它可以用来观察股价的趋势.
其中,一段时间常使用的有3日,6日,10日,12日,24日,30日等.移动平
均线可以用来确定这段时间持股的平均成本并使股民能据此判断行情.
计算法
N日移动平均线=N日收市价之和/N
编写要点
均线指标是求股票收市价的移动平均线,函数CLOSE的功能是求当日收市价,函
数MA(X,N)的功能是求X的N日移动平均线,所以10日均线指标的公式这样
写:
MA(CLOSE,10)
上面两个例子都是在一个图上只绘一条指标线如果您想在同一个图上绘多条指
标线,请看下图,做起来非常简单,您只需用分号将各指标公式隔开就行了,公
式这样写:
MA(CLOSE,5);
MA(CLOSE,10);
MA(CLOSE,20);
MA(CLOSE,60);
这个公式部包含四个小公式,小公式间以分号隔开,我们称这种公式为组合公
式,可同图绘制多达16条指标线,我们可以为每一条指标线取一个名字,这样
就可以在图上区分它们.具体法是在指标公式前写上名称并加一个冒号,如上
面所示.
用当一条指标线有了名字以后,其后面的指标线就可以将该指标线作为一个函数
来使用.请看下例,求收市价的5日移动平均价的10日移动平均线,写成:
MA
(MA(CLOSE,5),10),若给收市价5日移动平均线取个名字,我们又能这样写:
MA5:
MA(CLOSE,5);
MA(MA5,10);
与前者不同的是,后者同图绘出两条指标线.
2,函数的加减乘除和中间表达式
例一,多空指数(BBI)
指标原理
是一种关于不同日数移动平均线的综合指标,长期以来理论界一直为中短期的移
动平均线采用多少天数而争论不休,从而衍生出了BBI指标.多空指数就是通过
几条不同日数的移动平均线加权平均的法来解决这一问题.多空指数是将3
天,6天,12天,24天4种平均股价(或指数)相加后除以4得出的数值.
计算法
BBI=(3日MA+6日MA+12日MA+24日MA)/4
编写要点
中间表达式之一:
MA的表达式如上,假设我们需要引用一条均线,但是不需要显示出来,所以
在冒号后面加上等号将它们表达为中间表达式.
MA5:
=MA(CLOSE,5);
中间表达式之二:
用当中一条指标线有了名字以后,其后面的指标线就可以将该指标线作为一个中
间表达式来使用.请看下例,求收市价的5日移动平均价的再次计算10日移动
平均线,写成:
MA(MA(CLOSE,5),10)若给收市价5日移动平均线取个名字,
我们又能这样写:
MA5:
MA(CLOSE,5);
MA(MA5,10);
与前者不同的是,后者同图绘出两条指标线,澎博软件中的计算符号同一般算术
符号相通,所以BBI计算如下:
指标容和使用解析
MA3:
=MA(CLOSE,5);
MA6:
=MA(CLOSE,10);
MA12:
=MA(CLOSE,20);
MA24:
=MA(CLOSE,60);
BBI:
(MA3+MA6+MA12+MA24)/4;
主图叠加指标
加6日平均价加12日平均价加24日平均价,其和除以四
用法:
a,同移动平均线
b,高价区收盘价跌破BBI线,卖出信号
c,底价区收盘价突破BBI线,买入信号
d,BBI线向上,股价在BBI线之上,多头势强
e,BBI线向下,股价在BBI线之下,空头势强
3,参数的使用
参数的引进目标在于便我们在设计和优化指标的过程当中,以简单的式改变
不同的期,价位等等目标数据达到寻找到最优的参数数据.
例一,BIAS乖离率
指标原理
BIAS是运用股价指数与移动平均值的比值关系,观测股价偏离移动平均线的程
度,以此决定投资者的买卖行为.
计算法
(当日收盘价―当日MA均线值)/当日MA均线值*100
编写要点
在参数表设定好相应的3个参数,在澎博软件的公式系统可以设置一共4
个参数,从最大值到最小值为参数的变动围,缺省值为当前指标的取值.
参数名最小值最大值缺省值
L111006
L2110012
L3110024
注意:
在澎博软件中的百分比的表达式不可以是"%"而是"/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值在-15%-0
时,可适当买入股票,股价有可能反弹.
4,指标线形设计
在澎博软件当中为了突出一些指标的显示效果,设计了一套指标线形用于指标的
特殊表现形式.
例一,MACD(柱线的编写实例)
指标原理:
MACD是根据移动平均线较易掌握趋势变动的向之优点所发展出来
的,它是利用二条不同速度(一条变动的速率快--短期的移动平均线,另一条较
慢--长期的移动平均线)的指数平滑移动平均线来计算,二者之间的差异状况
(DIF)作为研判行情的基础,然后再求其DIF之9日平滑移动平均线,即MACD
线,MACD实际就是运用快速与慢速移动平均线聚合与分离的征兆,来研判买进
与卖出的时机和讯号.
计算法:
EMA:
指数平滑移动平均线
N:
期
DIFF:
乖离率
DEA:
离差平均值
移动平均线(12日EMA)=前一日EMA*/1-2/(N+1)+今日收盘价*2/(N+1)
注:
a,第一日的EMA取第一日的收盘价
b,在一般情况下,快速EMA选12日,慢速EMA取26日.计算得出的DIFF与
DEA为正值或负值,因而形成在0轴上下移动的两条快速与慢速线.
编制要点:
在函数中可以查到移动平均线的函数表达式为EMA(X,M)所以应先
行计算出快速移动平均线(12日EMA)与慢速移动平均线(26日EMA),并以这
两个数值,作为测量两者(快速与慢速线)间的"差离值"依据,所谓"差离值"
(DIFF),即12日EMA的数值减去26日EMA的数值,然后将参数M天的DIFF
的移动平均线的值计算出来.
参数名最小值最大值缺省值
LONG2010026
SHORT54012
M2609
DIFF:
EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:
EMA(DIFF,M);
MACD:
2*(DIFF-DEA),COLORSTICK;
在最后一句话当中,2是实际一个常数参数,它在这里的作用在于放大效果,
然后我们通过将它表示为红绿的柱线,表示成形象的红翻绿的情形了,请结合前
面的基础介绍观察其写法.
指标容和使用解析:
1,DIFF与DEA均为正值时,大势属多头市场;
2,DIFF与DEA均为负值时,大势属空头市场;
3,DIFF向上突破DEA时,可买入;
4,DIFF向下突破DEA时,应卖出;
四,指标公式编写举例
例一,RSI指标编写
指标原理:
Wellcswilderjr.在著作newconccptsintechnicaltrading
systems中所提出的交易法之一,所谓RSI英文全名为relativestrenth
index,中文名称为相对强弱指标.该指标根据估价"择强汰弱"的原理,以特
定时期股价的变动情况推测价格未来的变动向,并根据股价涨跌幅度显示市
场的强弱,通过比较一段时期的平均收益涨数和平均收盘跌数来分析市场买卖
盘的意向和实力,从而作出未来市场的走势的分析.
计算法
计算公式为:
RSI=n日收盘涨幅平均值/n日收盘涨跌幅绝对值的平均值的平
均值*100.
编写要点:
该指标由两条指标线组成,编写出其一,其他的依次类推;涨幅的表达用"今日
收盘-前日收盘",即"LC:
=CLOSE-REF(CLOSE,1)"表示;ABS(X)表示求得
绝对值;MAX(CLOSE-LC,0),表示如果本期上涨即得上涨值,否则取0,很
多时候我们利用MAX函数使变量和0进行比较,然后求得变量中的正值.
SMA的具体含义参见函数参考
以下我们拆分一条指标线来演示编写过程,RSI1
昨日收盘:
LC:
=REF(CLOSE,1);
上涨幅度:
AA:
=MAX(CLOSE-LC,0);
收盘价振动幅度:
AB:
=ABS(CLOSE-LC,0);
N1日的上涨幅度的指数移动平均:
AC:
=SMA(AA,N1,1);
N1日的涨幅的指数移动平均:
AD:
=SMA(AB,N1,1);
RSI:
AC/AD*100
参数名最小值最大值缺省值
N121006
N2210012
N3210024
将上面各个表达式综合起来就可以得到以下的RSI的指标公式:
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指标是由dr.reorgelane所创造的,是欧美期货常用
的一套技术分析工具.由于期货风险性波动较大,需要比较短期且灵敏的指标工
具,因此中短期股票的技术分析也颇为适用.随机指标综合了动量观念,强弱指
标与移动平均线的优点,用来度量股价脱离价格正常围的变异程度.KD线的
随机观念,远比移动平均线实用很多.因为移动平均线在习惯上其以收盘价来计
算,无法表现出一段行情的真正波幅.
计算法:
KD指标的计算公式和理论上的依据.产生KD以前,先产生未成熟随
机值RSV(rowstocbasticvalue),RSV实际上就是WMS%,可能是这两者产生
的途径不同,各自取了不同的名字.对RSV(WMS%)进行指数平滑,就得到K指
标,对K值进行指数平滑,就得到D值.
RSV=(本日收盘价-N日的最低价)/(N日最高-N日最低)*100;
K=昨日RSV*1/12+今日的RSV*1/12;
D=昨日K*25/26+今日的RSV*1/26;
J=3*K-2*D;
参数名最小值最大值缺省值
N11009
M12403
M22403
编写要点:
RSV的计算法为收盘价和N天的最高和最低的差的比值,使用函
数HHV,LLV可以轻松地得到最高和最低;
N天最高价:
HHV(HIGH,N);
N天最低价:
LLV(LOW,N);
指标容和使用解析
RSV:
=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:
SMA(RSV,M1,1);
D:
SMA(K,M2,1);
J:
3*K-2*D;
买卖原则:
K值由右边向下交叉D值作卖,K值由右边向上交叉D值作买.
D值80%超买;J>100%超买,J<100%超卖,KD值于50%左右徘徊
或交叉时,无意义.
例三,OBV指标编写
指标原理:
OBV的英文全称是OnRalanccVolumc,中文名称直译是平衡成交量,
有些人把每一天的成交量看作像海里的潮汐一样,形象地称OBV为能量潮,OBV
是由Granville与六十年代发明并广泛流行的.我们可以利用OBV验证当前股价
走势的可靠性,并可以由OBV得到趋势可能反转的信号,对于准确预测未来是很
有用的,比起单独使用成交量,OBV比成交量看得清楚.
计算法:
OBV构成的基本原理,是根据潮涨潮落的原理.每一天的成交量可以
理解成潮水,但这股潮水是向上还是向下,是保持原来的法,还是中途回落
这个问题就有当天的收盘价与昨天的收盘价的大小比较而决定.
1,如果今收盘价≥昨收盘价,则这一潮水属于多的潮水,
2,如果今收盘价<昨收盘价,则这一潮水属于空的潮水.
编写要点:
第一步,如果今收盘价≥昨收盘价,那么成交量为正:
AA:
=IF(CLOSE≥REF(VOL,1),VOL,0);
第二步,如果今收盘价<昨收盘价,那么成交量为负:
BB:
=IF(CLOSE
第三步,将所有的成交量加和:
CC:
=AA+BB;
第四步,统计所有的期上的成交量即得OBV.
OBV:
SUM(OBV,0)
从上面编写的例子使用了IF函数,AA计算了多力量同时将空的成交量忽略
为0,同样在计算空成交量的同时我们又忽略了多的力量,将两者加和就得
到了我们所需要的OBV.
买卖原则:
OBV不能单独使用,必须用股价曲线结合使用才能发挥作用.从OBV
的取值大小不能得到任结论.我们关心的只是近日的OBV曲线的相对走势,而
OBV的取值的绝对数字对我们是没有用处的.OBV曲线的上升和下降对我们进一
步确认当前股价的趋势有着很重要的作用.股价上升(或下降),而OBV也相应
地上升(或下降),则我们可以更相信当前的上升(或下降)趋势.股价上升(或
下降),但OBV并未相应的上升(或下降),则我们对目前的上升(或下降)趋势
的认可程度就要打折扣.这就是背离现象.OBV已经提前告诉我们趋势的后劲不
足,有反转的可能.在别的技术指标中适用的形态学和切线理论的容也同样可
用于OBV曲线.W底M头等著名的形态学结果在OBV身上也能使用.在股价进入
盘整区后,OBV曲线会率先显露出脱离盘整的信号,,向上或向下突破.
例四,BOLL指标编写
指标原理:
布林线(bollingerhands)由johnbollinger创制,它利用统计学
原理,求出股价的标准差及其信赖区间,其上下限的围不被固定,随股价的变
动而表动.
计算法:
利用统计学原理,先规定一个标准差,再求算出一个上下限波动区间,
其波动的上下限随股价浮动.
MID=N天的收盘价的均价;
STD=N天的收盘价的标准差;
UPPER=MID+离差系数*STD;
LOWER=MID-离差系数*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,当布林通道由宽变窄时,说明股价逐渐向中值回归,股市进入一个整理区