指标编写常用通式.docx
《指标编写常用通式.docx》由会员分享,可在线阅读,更多相关《指标编写常用通式.docx(19页珍藏版)》请在冰点文库上搜索。
指标编写常用通式
指标编写入门
技术指标的编辑能够实现对技术图表分析中各类技术指标和自我定义的技术分析
指标的编写,并且通过软件的分析界面形成图表、曲线,以方便和寻找有意义的技术
图形和技术特征。
以下我们以技术指标的编辑为例作详细的说明:
新建指标:
图一只要点击对应的指标类别,再点击“新建”就能添加相应的指标了。
A---每一个指标公式必须有一个名称,这个名称由字母或数字组成,公式名称在同类公式中必须是唯一的。
例如不能同时存在两个AAA技术指标公式,但可以存在一个AAA技术指标一个AAA条件选股公式,公式名称最多9个字符。
B---公式描述是一段文字描述,这段文字不宜过长。
C---该项选择定义了该指标显示的位置.是在主图上与K线叠加还是显示在副图上,一般来讲,只有少数几个主图指标会设定为主图叠加,例如MA均线,BOLL线等。
D---计算参数:
每个公式可以设计1-8个计算参数,计算参数用来替代公式中所需要的常数,在使用时可以方便地调节参数,不必修改公式就可以对计算方法进行调节。
计算参数包括参数名称、最小值、最大值、缺省值四个部分。
参数名称用于标识参数,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。
E---公式编辑栏,本栏为公式编辑的文本框。
F---密码保护,选中该栏目为指标公式加密。
G---公式注释是一段文字,相对于公式描述而言它可以很长,主要用来描述一个公式如何使用、注意事项、计算方法等等。
H---周期的设定:
数据分析周期就是相邻两组数据的时间间隔,可以是从1分钟到1个间的任意间隔;还可以是分笔成交分析周期,这种情况下时间间隔不定。
公式系统的引用周期:
应不同的使用者在分析周期习惯上的差异,大智慧特别设定了周期选择。
这主要是针对在引用类函数在引用数据时锁定自己所需要的周期,例如在日线上、或者在周线上等等的要求。
函数的引用周期:
大部分的函数本身没有使用周期的限制,除了少数几个描述分笔成交时买卖挂单和挂单量的函数因其本身的定义使用范围有限制。
I---技术指标公式还可以强制设定坐标线位置。
例如KD指标我们需要在0、20、50、80、100画5条坐标线,可以在坐标线位置输入框中写入;20;50;80;100",这时在显示区内的图形的坐标的纵坐标将是定义好的坐标,否则的话,系统将会自动选择最佳的显示效果自动定义纵坐标,横坐标因为系统规定为时间坐标是不可更改的。
常用:
选定公式组中的某一指标,再点击“常用”按钮,即可把该指标添加在常用指标一栏。
成功率测试:
测试选股成功的概率;
选股至板块:
将选出来的股票添加至指定的板块;
执行选股:
确认后即可执行选股功能;
导出:
点击导出按钮后,双击公式组中您想要导出的指标,然后点保存按钮进行导出
引入:
引入您机器中后缀名为*.X的公式文件。
向导选股:
随着向导选股能有效的帮您完成选股功能。
选择了“我要选股”之后,如果您想继续操作,只要点击“下一步”即可。
技术指标公式编写格式和法则:
所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其他的公式也不会出脱其外。
例如我们在指标公式系统内写下公式:
A:
=X+Y;
B:
A/Z;
C:
B*0.618;
公式编写系统用了多类函数,以达到快速提取数据和提高运算能力,同时简化计算过程的要求。
因此在不同类型的函数我们赋予了相当精确的含义。
以下我们将介绍十类函数。
行情函数:
(OPEN、CLOSE、HIGH、LOW、VOL等)
OPEN/CLOSE:
开/收盘价,取得该周期开/收盘价
HIGH/LOW:
最高/低价,取得该周期最高/低价
VOL:
取得该周期的成交量
ADVANCE:
上涨家数,该函数只对大盘有效
AMOUNTT:
成交额,取得该周期成交额
SELLVOL:
主动性卖单,当本笔成交为主动性卖盘时,其数字等于成交量否则为0
大盘函数:
(INDEXA、INDEXC、INDEXH等)
INDEXA:
表示同期大盘的成交额。
INDEXC/INDEXO:
表示同期大盘的收/开盘价。
INDECH/INDEXL:
表示同期大盘的最高/低价
INDEXADV:
表示同期大盘的上涨家数,
INDEXDEC:
表示同期大盘的下跌家数
INDEXV:
表示同期大盘的成交量
注:
大盘函数只有待用户看过大盘以后才能发挥作用
常数函数:
(CAPITAL、市盈率、量比等)
CAPITAL:
返回流通盘大小,单位为手;
A股为流通A股,B股为总股本,指数为0
时间函数:
(DATE、DAY、TIME等)
DATE:
有效返回值范围为700101-1341231,表示19700101-20341231取得该周期从1900年以来的年月日
DAY:
取得该周期的日期,有效返回值1-31
引用函数:
(MA、HHV、COUNT、REF、SUM、SMA等)
MA简单移动平均
用法:
MA(X,N),求X的N日移动平均值.算法:
(X1+X2+X3+...+Xn)/N
例如:
MA(CLOSE,10)表示求10日均价
HHV求最高值
用法:
HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。
例如:
HHV(HIGH,30)表示求30日最高价
COUNT统计函数
用法:
:
COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。
例如:
COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数
REF:
向前引用,引用若干周期前的数据。
用法:
REF(X,A),引用A周期前的X值。
例如:
REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收。
SUM:
求总和。
用法:
SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。
例如:
SUM(VOL,0)表示统计从上市第一天以来的成交量总和
SMA:
求移动平均。
用法:
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,30,1)表示求30日移动平均价
逻辑函数:
(IF、CROSS、NOT等)
IF:
根据条件求不同的值。
用法:
IF(X,A,B)若X不为0则返回A,否则返回B
例如:
IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值
CROSS:
交叉函数CROSS(A,B)
A:
变量或常量,判断交叉的第一条线
B:
变量或常量,判断交叉的第二条线
例CROSS(MA(CLOSE,5),MA(CLOSE,10)):
5日均线与10日均线金叉,
CROSS(CLOSE,12):
价格由下向上突破12元。
NOT:
求非逻辑NOT(X)返回非X,即当X=0时返回1,否则返回0。
例:
NOT(ISUP):
是否平盘或收阴
数学函数:
(MAX、MIN、LN、三角函数等)
MAX/MIN:
求最大/小值。
用法:
MAX(A,B)返回A和B中的较大值
LN:
求自然对数,用法:
LN(X)以e为底的对数
统计函数:
(STD、VAR、AVEDEV等)
STD:
估算标准差
用法:
:
STD(X,N)为X的N日估算标准差
例:
STD(CLOSE,10):
求10周期收盘价的估算标准差。
算法:
VAR:
估算样本方差
用法:
:
STDP(X,N)为X的N日总体标准差
算法:
AVEDEV:
平均绝对偏差
用法:
AVEDEV(X,N)
算法:
指标函数:
(COST、WINNER、SAR、ZIG等)
COST:
成本分布
用法:
COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘该函数仅对日线分析周期有效
WINNER:
获利盘比例
用法:
WINNER(CLOSE),表示以当前收市价卖出的获利盘比例
例:
返回0.1表示10%获利盘;WINNER(10.5)表示10.5元价格的获利盘比例该函数仅对日线分析周期有效
SAR:
:
抛物转向
用法:
:
SAR(N,S,M),N为计算周期,S为步长,M为极值
例如:
SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20%
ZIG:
之字转向
用法:
ZIG(K,N),当价格变化量超过N%时转向,K表示0:
开盘价,1:
最高价,2:
最低价,3:
收盘价
例如:
ZIG(3,5)表示收盘价的5%的ZIG转向
绘图函数:
(DRAWICON、DRAWLINE、DRAWTEXT、POLYLINE、STICKLINE)
DRAWICON:
在图形上绘制小图标。
用法:
DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。
注:
TYPE参数只有3个即0,1,2;0代表哭脸、1为笑脸、3是平脸
例如:
DRAWICON(CLOSE>OPEN,LOW,1)表示当收阳时在最低价位置画1号图标。
DRAWLINE:
在图形上绘制直线段。
用法:
DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。
例如DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1)在创20天新高与创20天新低之间画直线并且向右延长。
DRAWTEXT:
在图形上显示文字。
用法:
DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT。
例如:
DRAWTEXT(CLOSE/REF(CLOSE,1)>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示“大阳线”字样。
POLYLINE:
在图形上绘制折线段。
用法:
POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。
例如:
POLYLINE(HIGH>=HHV(HIGH,20),HIGH)表示在创20天新高点之间画折线。
STICKLINE:
在图形上绘制柱线。
用法:
STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱。
例如:
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体部分。
常用通式
一、放量、缩量(成交量函数为VOL)
1、放量:
(1).今天成交量较昨天增加了1倍,表示如下:
VOL/REF(VOL,1)>2
(2).今天成交量较10个交易日平均成交量放大了1倍,表示如下:
a:
=ma(vol,10);
Vol/a>2
或者直接用如下公式表示:
vol/ma(vol,10)>2;
(3).今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:
a:
=ma(vol,10);
b:
=ma(vol,5);
b/a>2;
(4).今日的成交量超过了整个流通盘的5%,表示如下:
vol/capital>0.05;其中capital代表流通盘。
2、缩量
(1).今日成交量较昨日减少了一半,表示如下:
vol/ref(vol,1)<0.5;
(2).今日成交量较10个交易日平均成交量减少一倍,表示如下:
a:
=ma(vol,10);
vol/a<2;或者直接用如下公式表示:
vol/ma(vol,10)<2;(3).今日的5日均量较10个交易日平均成交量减少1倍,表示如下:
a:
=ma(vol,10);
b:
=ref(a,5);
a/b<2;
(4).今日的成交量低于了整个流通盘的5%,表示如下:
vol/capital<0.05;
二、上涨、下跌
上涨:
今天的涨幅达到5%以上,表示如下:
close/ref(close,1)>1.05;5日均价连续上涨,表示如下:
a:
=ma(close,5);b:
=ref(a,1);b;下跌:
今天的跌幅达到5%以上,表示如下:
close/ref(close,1)<0.95;5日均价连续下跌,表示如下:
a:
=ma(close,5);b:
=ref(a,1);aopen;阳线closeref(close,1);高开open[ref(high,1);跳空高开(high为最高价)open]三、走势特征选股公式的编制
(1)、n日内创新高 hhv(high,n)=hhv(high,0)andbarscount(c)>=n;注:
n为指标参数,可在参数设定范围内设定参数范围。
Hhv(x,n),求n周期内x最高值,n=0则从第一个有效值开始;barscount(x),将当前位置到n周期前的数值设为1,若x非0,则将当前位置到n周期前的数值设为1。
(2)、n日内创新低 llv(low,n)=llv(low,0)andbarscount(close)>=n;注n为指标参数,可在参数设定范围内设定参数范围。
Llv(x,n),求n周期内x最低值,n=0则从第一个有效值开始;barscount(x)第一个有效数据到当前的天数,例如,barscount(close)以于日线数据取得上市以来总交易日数。
(3)、n日内阴线多于阳线 count(open>close,n)/n<0.5;注:
n为指标参数,可在参数设定范围内设定参数范围。
同时可以**编辑里面的数值(如0.5等 ,达到确定阴线占全部K线个数的比例)。
(4)、n日内阳线多于阴线 count(open0.5;注:
n为指标参数,可在参数设定范围内设定参数范围。
同时可以**编辑里面的数值(如0.5等 ,达到确定阳线占全部K线个数的比例)。
(5)、n日内上涨多于下跌(第二天开盘高于前一天收盘)count(c>ref(c,1),n)/n>0.5;注:
n为指标参数,可在参数设定范围内设定参数范围。
同时可以**编辑里面的数值(如0.5等 ,达到确定其中比例)。
(6)、n日内上涨少于下跌(第二天开盘低于前一天收盘) count(c>ref(c,1),n)/n<0.5;注:
n为指标参数,可在参数设定范围内设定参数范围。
同时可以**编辑里面的数值(如0.5等,达到确定其中比例)。
(7)、连续n日收阳线 up:
=close>open;count(up,n)=n;注:
count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。
n为指标参数,可在参数设定范围内设定参数范围。
(8)、连续n日内收阴线 up:
=closecount(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。
N为指标参数,可在参数设定范围内设定参数范围。
(9)、连续n天上涨 count(close>ref(close,1),n)=n;注:
count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。
N为指标参数,可在参数设定范围内设定参数范围。
(10)、连续n天下跌 count(ccount(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。
N为指标参数,可在参数设定范围内设定参数范围。
(11)、首次创新高 barssince(c>hhv(if(barscount(c)=1,high,0),0))+1=1;注:
barscount(x),若x非0,则将当前位置到n周期前的数值设为1。
(12)、创历史新高 hhv(close,0)=close;注:
hhv(x,n),求n周期内x最高值,n=0则从第一个有效值开始。
(13)、创历史新低 llv(close,0)=close;注:
llv(x,n),求n周期内x最小值,n=0则从第一个有效值开始。
(14)、单日放量 a:
=ref(ma(vol,5),1);vol/a>nandvol/capital*100>m;注:
n为指标参数,代表今日成交量和前一日的5日均量的比值,可在参数设定范围内设定参数范围。
(15)、阶段缩量 sum(vol,n1)/capital<=n2;注:
n1为要统计的阶段时间,n2为缩量比例,可在参数设定范围内设定参数范围。
(16)、阶段放量 sum(vol,n1)/capital>=n2;注:
n1为要统计的阶段时间,n2为y放量比例,可在参数设定范围内设定参数范围。
(17)、持续放量 a:
=vol>ref(vol,1);count(a,n)=n;注:
其中条件a的含义为成交量较上一交易日放大,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(18)、持续缩量 a:
=vol其中条件a的含义为成交量较上一交易日缩小,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(19)、间隔放量 a:
=ma(vol,5);barscount(c)>=nandhhv(a,n)n2*a,n)>n3;注:
a.barscount(x)第一个有效数据到当前的天数。
Barscount(c)对于日线数据取得上市以来总交易日数。
b.完整含义:
n日内五日均量的最大值小于最小值的n1倍,成交量大于等于五日均量的n2倍的情况发生的次数多于n3次。
(20)、放量上攻a:
=(c-ref(c,1))/ref(c,1)>=(n/100);sum(vol,n1)/capital>=(n2/100)andcount(vol>ref(vol,1),n3)=n3andcount(a,n3)=n3;完整含义:
每日股价涨幅均大于n%,n1日内累计换手率大于n2%,并且成交量连续在n3日内放大。
(21)、温和放量上攻
股价小幅上扬
a1:
=close/ref(close,1);a2:
=a1>1anda1<1.03;
成交量小幅上扬
b1:
=vol/ref(vol,1);b2:
=b1>1andb1<2;c1:
=ma(vol,n)/capital<0.05;count(a2andb2,n)/n>0.6andc1;
完整公式为:
a1:
=close/ref(close,1);a2:
=a1>1anda1<1.03;b1:
=vol/ref(vol,1);b2:
=b1>1andb1<2;c1:
=ma(vol,n)/capital<0.05;count(a2andb2,n)/n>0.6andc1;注:
公式分为股价小幅上扬和成交量小幅上扬两个部分,请在指标编写时注意其结构。
(22)、突然放量
vol>ref(hhv(vol,n),1*m;注:
当前成交量高于n个周期中最大成交量的m倍。
(23)、平台整理
count(close,0)>nand(hhv(close,n)-llv(close,n))/llv(close,n)<=(n1/100);
注:
count(close,0)>
n为平台整理n个周期的设定。
(hhv(close,n)-llv(close,n))/llv(close,n)<=(n1/100)为平台整理幅度n1%的设定。
(24)、突破长期盘整
ref(((hhv(h,n)-llv(l,n))/llv(l,n))/llv(l,n)),1)<=(n1/100)andc>=ref(hhv(h,n),1)andbarscount(c)>n;
注:
前n日在上下n1%的幅度内整理:
ref(((hhv(h,n)-llv(l,n))/llv(l,n))/llv(l,n)),1)<=(n1/100);
今日突破:
c>=ref(hhv(h,n),1)。
(25)、阶段强势股
a:
=sum(if(date-n=0,indexc,0),0);b:
=sum(if(date-n1=0,indexc,0)0);e:
=sum(if(date-n=0,c,0),0);f:
=sum(if(date-n1=0,c,0),0);((f-e)/e)>((b-a)/a);注:
该公式求的是n日-n1日之间涨幅高于大盘的股票。
n、n1参数的表达格式为yymmdd,注意在2000年前的表达为年份的后两位,例如1999年为99,从2000年开始以100依次向后累加,例如2001年9月14日为1010914,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。
(26)、阶段弱势股
a:
=sum(if(date=n,indexc,0),0);b:
=sum(if(date=n1,indexc,0)0);e:
=sum(if(date=n,c,0),0);f:
=sum(if(date=n1,c,0),0);((f-e)/e)<((b-a)/a);注:
该公式求的是n日-n1日之间涨幅低于大盘的股票。
n、n1参数的表达格式为yymmdd,注意在2000年前的表达为年份的后两位,例如1999年为99,从2000年开始以100依次向后累加,例如2001年9月14日为1010914,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。
(27)、大盘同步
count((c>oandindexc>indexo)or(cm/100;注:
含义为n周期中与大盘走势相同(同收阴线或同收阳线)的例超过m%。
此处的o不是数字的零,而是开盘价open的首写字母o。
(28)、n日内强势股
a:
=(c-ref(o,n))/ref(o,n);b:
=(indexc-ref(indexo,n))/ref(indexo,n);a>banda/b>=m;注:
n日内个股涨幅大于等于大盘涨幅的m倍。
四.形态特征选股公式的编制
(1)、均线多头排列
a1:
=ma(c,n1);a2:
=ma(c,n2);a3:
=ma(c,n3);a4:
=ma(c,n4);count(a1>a2anda2>a3anda3>a4,3)=3andisup;注:
n1、n2、n3、n4j日均线呈多头排列,isup也可以用close>open表示。
(2)、均线空头排列
a1:
=ma(c,n1);a2:
=ma(c,n2);a3:
=ma(c,n3);a4:
=ma(c,n4);count(a1n1、n2、n3、n4j日均线呈空头排列,isup也可以用close(3)、早晨之星
ref(close,2)/ref(open,2<0.95andref(open,1)abs(ref(open,1)-ref(close,1)/ref(close,1)<0.03andclose/open>