当前股票软件“公式编辑器”的使用与程序书写规则

来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:45:10
当前股票软件“公式编辑器”的使用与程序书写规则      我们大多数的用户并不是完全了解“公式编辑器”的意义,简单地,我们可以从以下几个角度进行理解:
  一、指标分析:“公式编辑器”好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标KD、指标MA等等,通过对这些指标的观察、分析,找出一些合适的条件作为买入卖出点。当然,我们也许需要的是一些自己的指标,一些自己的准确的指标,更多的MB、MC、MD等等,这一切我们通过“公式编辑器”可以实现。
  二、条件选股:编写公式都要用到什么东西?我们留下了许多问题--都是公式编写的基础问题,所以我们这节课来解决这些基础的问题。什么是技术指标?A均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。什么是条件选股?简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选--比如您有一些好的心得和方法,可使有1000多只股票,您就是有100双眼睛有时也不一定可以看得过来,这时电脑就派上用场了!什么是参数?比如讲:10日均线,您可以把10日当作参数,好处在于,您觉得需要修改成5日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参数需要名字,例如M就不错。还要规定参数的范围,例如1日至260日。这样我们就可以在1到260之间任意调节M的值了,M最常用的数填在“缺省”一栏,例如你最喜欢用10日均线,那就填10吧。什么是周期?这么解释吧!我们有的投资者喜欢使用日线图作技术分析;有的喜欢用5分钟的K线;有的喜欢使用长一点时间的,例如周线。所以在公式设计中,允许不同喜好的使用者选择不同的分析时间--就是可以选择不同的周期。什么是函数?函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。我们在公式编辑器中选择插入函数,就可以看到里面有许多的函数,我们在附录中有一个简表,大家可以到那里去检索!
  例一:
  一根K线有四个价格组成:
  最高价:HIGH
  收盘价:CLOSE
  最低价:LOW
  开盘价:OPEN
  成交量:VOL
  成交额:AMO
  例二:
  两条均线不断地交叉,就专门设定了一条函数来描述两条线交叉:CROSS(X,Y)
  假如下图中的两条均线一条名叫X,另外一条叫Y
  CROSS(X,Y)表示X向上穿过了Y
  CROSS(Y,X)表示Y向上穿过了X
  例三:
  前面的CLOSE,还是VOL,都表示当天,或者您使用的不是日线,那就表示本周期的数据,那么前几天的怎么表示呢?
  REF(X,M)
  例如:
  REF(CLOSE,5)表示5天前的收盘;
  REF(VOL,10)表示10天前的成交量;
  这里的M就是参数,您现在明白了什么是参数了吗?
  例四:
  如果我想把两个条件并列在一起怎么办?
  AND
  X AND Y就表示条件X和条件Y
  好了!本课结束吧--有点稍慢,下面会好一些!
  
  编写一条最简单的指标线,通过前几课的学习,我们今天开始使用软件的公式编辑功能编写我们自己的第一条指标线。其实不难,你应该对自己有信心!按照主菜单-工具-公式管理-选择-“技术指标”-点击“新建”,然后在公式编辑器中留下你的第一行脚印吧!点击:“确认”,现在看一下我们第一条指标线。这条指标线与你的想法相符吗?总结与补充:
  1、如果选择:“主图叠加”,我们的指标线会与K线图显示在同一个图形框中,现在我们的指标线显示在其下方,即“副图”中;
  2、参数可以有,也可以没有,但是鼓励大家设置参数,这是非常好的习惯;
  3、一个句子完了,别忘了以分号结尾;
  你的公式写得对不对,可以通过“测试公式”来检查,如果错了,它会告诉你错在哪里。
  编写最常用的均量和均价线,均价线,不就是那个“移动平均线MA”什么的吗?不过,话说回来,听说10个人里面有11个人都在使用,我可得学习学习!
  原理是??
  5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/5;
  10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10;
  150日平均线=(今天收盘价+昨天收盘价+......+150天前的收盘价)/150;
  200日平均线......不是这么麻烦吧?难道我每天都要写这么多得数才得到一条平均线????
  你有什么办法?
  MA1=MA(CLOSE,5);
  MA2=MA(CLOSE,10);
  MA3=MA(CLOSE,50);
  ......
  当然是有简单的方法了!你把我在上面说过的话写下来,按照前面几课讲的,写在公式的编辑栏当中就可以了!
  注意:“MA”表示的就是计算平均值。
  在括号内写上计算的对象和计算的时间长度。
  MA1,MA2,MA3......是好几条指标线,别忘记了用分号把它们分开。
  最后呢?电脑自己会把它们一起画出来。
  均量线???
  均价线都有了,照着葫芦画瓢,把收盘价CLOSE换成成交量VOL就行了!
  MA1:MA(VOL,5);
  MA2:MA(VOL,10);
  MA3:MA(VOL,150);
  MA4:MA(VOL,200);
  今天有几只发生MA金叉?我们学习了编写MA移动平均线,关于这几条指标线如何使用?我想大家可能都比我清楚。例如短期均线和长期均线发生了金叉或者死叉,......等等,葛兰维尔的八项法则......如果说如何用软件编写一个条件,让电脑把今天两个市场的股票中所有发生了黄金交叉的股票选出来呢?想知道吗?这就是“条件选股”,按照“条件”电脑自动“选择股票”出来,可以供您分析,要不然的话,技术分析的投资者都会累死了!跟我学!
  第一步:“工具”栏中选中“公式管理器”
  第二步:我们现在选择“新建”一个“条件选股”公式,结果出现了下面的编辑栏!然后在里面写上您的条件!
  第三步:按照说明书上的步骤选股就行了!
  注意:
  1、在条件选股中点击“新建”;
  2、原来MA5:MA(CLOSE,5);
  表示的是一条指标线,可是现在我们在条件选股当中只要引用它,不需要把它画出来。所以我们在冒号的后面加一个符号,表示等会要引用它:MA5:=MA(CLOSE,5);
  这个在的公式编辑中,叫做“中间表达式”。
  X=1;
  Y=X+1;
  Y=?
  我们学过上面的数学,都知道把X=1代入到Y的计算中去,“X=1;”就是一个中间表达式,您明白了吗?
  
  条件选股总结:
  1、指标和条件选股在结构上没有差别,只是在内容上,条件选股要多加上我们的条件,比如大于10,或者交叉等等!
  2、中间表达式可以帮助我们清晰的表达我们的公式,不至于使公式的结构特别的混乱!
  
  如何编写BIAS指标?
  如果大家都是均线的忠实爱好者的话,那么大家一定牢牢记得在均线大师哥南威尔的8大法则当中的第四条和第五条中曾经提到了当股价偏离均线太远的时候,便会向它靠拢,但是并不提到多远才会靠拢--为了解决这个问题,也为了我们更好地用客观数据来体现股价运动的过程,乖离率这个指标应运而生。
  本课我们的任务就是通过对乖离率的原理到编写方法的学习来加强我们对公式设计的理解。
  首先,什么是乖离率?
  以当日的均线价格为准,股价和均价之间的差距称为乖离程度,以乖离程度除以均价的百分比就是乖离率。
  当日股价与10日均线的乖离率=(当日股价-10日均价)/10日均价*100;
  当日股价与20日均线的乖离率=(当日股价-20日均价)/20日均价*100;
  当日股价与30日均线的乖离率=(当日股价-30日均价)/30日均价*100;
  原理就是这么简单,可是怎么使用呢?您别急,所用的指标其实都是在观察当中得出一定的启示,您先实现这几条指标线,让它们以图形的方式出现在您的面前,然后您再去观察,一定会事半功倍!
  比如编写10日乖离率
  第一步:乖离率的命名,崇尚人家的习惯,依旧使用BIAS,那么第一条就叫做BIAS1好了!
  第二步:当日股价用CLOSE表示;
  10均价我们在前一节课刚刚学过,顺手拈来,用MA(CLOSE,10)表示;
  第三步:一样使用加减乘除符号以及括号,只是要注意只有小括号,没有中大括号,那么公式就有了--
  BIAS1:(CLOSE-MA(CLOSE,10))/MA(CLOSE,10)*100;
  这样的话我们在技术指标编辑器中将另外两条指标也同样写下来,就得到了BIAS指标,请看下图:
  第四步:就是您得自己好好观察您的指标公式在各个股票的表现,得出您自己的结论,因为每一个投资者即使是在使用同样一个指标的时候,都会有不同的理解,我们无法判断优劣,但是有一条可以告诉我们答案,那就是永远让市场说话,因为它永远是对的!
  如果您不介意的话,可以参考BIAS,不过仅供参考!
  您明白怎么编写了吗?
  
  我能不能直接用写好的指标公式?
  我想用KD指标选股,能不能直接写成“D>20”就可以执行了?
  当然可以!考虑到了这种偷懒的做法,所以我们一共提供了两种供偷懒的人士使用,其中一种与上面的要求只是在写法上稍有不同!
  第一个方法:
  第一步:在条件选股的编辑器中点击“引入指标公式”。
  引入“其他公式”。然后,我们从中选择一个,例如“KD”,让我们来看一下结果如何?
  第二步:上一步的操作结果请看右边的图形,系统自动的把KD指标的整个编写内容搬来了!
  现在需要我们做的就是:续上一行条件“D<20”,OK!完成!
  有没有简单的方法?
  第二个方法:就一句话:“KDJ,D”<20;
  “KDJ,D”
  表示现在我要是用KDJ指标当中的D指标,不过大家要看清楚是怎么写的哦!写错了计算机可是不会改错的!
  总结:
  用上面的方法可以引用所有指标,所以不必写那么多!
  注意格式上,两边用引号括起来,指标名称KDJ和指标线名称D之间用“,”隔开!
  
  额外加餐
  现在我们可以很方便的做另外一件事了,我们可以将通常说的KDJ买入条件完整的表达出来了:
  “KD指标发生了黄金交叉,并且D<20”
  T1:=“KDJ,K”;--引用K线;
  T2:=“KDJ,D”;--引用D线;
  条件: AND在中就表示“并且”,将两个条件并列起来
  CROSS(T1,T2)ANDT2<20;
  
  第九课 放量、缩量、上涨、下跌、收阳、收阴
  在前面的学习当中,我们见到了一些基本的表达方法、方式,今天我们的任务是学习一些常见的概念如何编写,例如上面所列出来的放量、上涨等等,因为这些都是在公式编写过程当中要用到的基本的小的形态特征,许多的技术指标的选股条件都是由它们组成的。
  放量:
  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)
  缩量:
  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;
  上涨:
  1、今日涨幅达到了7%以上:
  CLOSE/REF(CLOSE,1)>1.07;
  2、十日均价继续上涨:
  AA:=MA(CLOSE,10);
  BB:=REE(AA,1);
  AA>BB;
  下跌:
  同上面的表达方式一样,将方向改变了而已:
  收阳、收阴:
  1、当天收阳:CLOSE>OPEN;
  2、当天收阴:CLOSE<OPEN;
  高开、低开:
  1、当天股价高开,言下之意开盘高于昨日收盘:OPEN>REF(CLOSE,1);
  2、当天股价低开:OPEN<REF(CLOSE,1);
  跳空:
  跳空亦有向上和向下两种:
  当日开盘在昨日最高之上,即为向上跳空:OPEN>REF(HIGH,1);
  反之,开盘小于昨日的最高价,为向下跳空:POEN<REF(LOW,1);
  事实上,我们在编公式的过程,就是将这些条件有机地结合起来作为我们判断的条件。举一个很简单的例子,如果是K线形态呈现出放量上攻的态势,那么如何编写这个公式呢?高开高走又应该如何编写呢?
  我们把放量和上涨的两个条件组合在一起,让某一天的形态特征同时满足两个条件就达到目的;同样地将高开的高走两个条件结合在一起,也就找到了我们所需的条件。
  结果就是:
  放量上攻之一,以上面所举例组合:
  AA:=VOL/REF(VOL,1)>2;
  BB:=CLOSE/REF(CLOSE,1)>1.07;
  AA AND BB;
  高开高走:
  AA:=OPEN>REF(CLOSE,1);
  BB:=CLOSE>OPEN;
  AA AND BB;
  OK!本课到此结束,留下一个问题,看看您有没有真正的理解,向上跳空之后两天内并未回补如何编写呢?
  提示:实际上就是昨天发生了跳空缺口,这两天的最低价一直在两天前的最高价之上。
  AA:=REF(OPEN,1)>REF(HIGH,2);
  BB:=REF(LOW,1)>REF(HIGH,2);
  CC:=LOW>REF(HIGH,2);
  AA AND BB AND CC;
  仔细一想,若BB成立,AA一定成立,AA实际上没有存在的必要,你想通了吗?
  更简单的方法,下面的一句话可以的上面的四句:
  COUNT(LOW>REF(HIGH,2),2)=2;
  
  第十课 涨停板攻击?
  学了这么多了,应该教点实战的内容了!我们来学习一下别人的经验,“涨停板追击”,同时这里面还润孕育着一个简单但是又颇有意义的道理!
  一、量化的概念
  我们都知道,按规定涨幅不得超过10%,但是由于四舍五入的关系,常常有9.98%、10.23%等等的涨停板,所以我们要找一个合适的数值,然后用公式语言告诉计算机,这个过程学名叫量化!
  比如我们考察之后,决定让大于9.99%的都为涨停。
  二、编写公式
  其实就一句话:今日收盘除以昨日收盘的值大于1.0999
  X:=CLOSE/REF(CLOSE,1)>1.0999;
  三、测试我们的条件
  大家都知测试的功能,要不然你怎么知道你的经验在历史上的表现是好还是不好呢?
  按照下图指引进入条件选股的界面,之后选中您的条件,具体办法请参见(使用说明书)。然后填入测试时间和测试标准!
  在这里我们的测试方法是:
  测试时间是从2000/01/01到2001/03/02,测试股票共计583只,初始投入100,000元。
  当满足买入公式中定义的条件时,也就是涨停板时,按照收盘价使用相同资金买入一只股票,当满足以下平仓条件时按照收盘价平仓;买入5日后强制平仓或者亏损达到3%止损平仓或者利润达到5%止赢平仓,然后按照以上的规则统计在测试的时间段内的所有交易的状况。
  这是一种追涨的短线方法,所以测试的时间我们只用5天,目标利润为5%,(非常抱歉,因为其中的设置和选择方法十分灵活而且需要较好的理解能力,所以我们在这里就不介绍具体的内容了)
  点击开始测试!一切OK!来看结果吧!
  1、从成功率上看,实际达到5%的获利要求的交易次数67.89%,我们已经比较满意这个结果了,可是要用于实战,可不可以再提高呢?
  2、所谓的提高就是优化的一个内容,简单说,优化就是让它更好!优化我们的条件,让它的表现更好!
  3、加上一个缩量的条件,比如当日成交量小于5日的均量;Y:=VOL<MA(VOL,5);大家可以做一下测试,看看结果如何!以下是同样测试条件下的结果。 X AND Y;
  您满意吗?我们的成功率已达到了80%,剩下的任务就是您如何操作的问题了!
  注:请大家考虑一下在实战当中,如果您按此买入可不可行?
  总结:编写公式并不是为了编公式而编写复杂的公式,您个人对某一个特征或者形态的理解最重要。所以光有经验不够,您还得把它转化成您自己的应对策略!您需要不断总结、测试、优化您的公式。
  
  第十一课 多头排列--良好的上升趋势
  均线的多头排列一直以来都被大家视为一种良好的上升趋势的表现,因为这种形态的形成需要较长的时间,和较大的能量,而被主力或者庄家利用作为骗线的可能性就比较小,股市当中也遵循惯性的原理,当一个趋势形成之后,要改变它,是不容易的,因为股价有着沿着原来的运动方向上的惯性!
  首先,让我们来看看几种多头排列:
  5、10、30日均线:5、10、30日均线:30、60、90日均线:
  在图一中和图二中我们采用的是同一周期的均线,即都是5、10、30日均线,我们可以观察到在同一周期下的均线排列有相同之处,也有很大不同之处:图一中的5日均线=10日均线、30日均线平滑优美,而在图二中的5日和10日均线不断的碰及30日均线然后上升;
  在图三中我们选用的是30、60、90日均线,相对来说均线的多头排列也显得很平滑。
  为什么会有这样的差别呢?如果您要是认真一点的话,就可以发现原来前两图的K线走得不一样,一个一波拉到头,一个分成几波拉到头,而在图三当中我们采用了较长周期的均线系统,从而在一定程度上过滤了这种现象,具体在使用的过程中,您可要多注意它们的区别!
  好了,我们来看一下如何编写,拿第一个为例,观察它们的特征:
  5/10/30日均线依次从上而下的排列,这种情况维持一段时间,假设我们这里定为4天以上:
  5/10/30日均线依次从上而下的排列:
  AA:=MA(CLOSE,5);
  BB:=MA(CLOSE,10);
  CC:=MA(CLOSE,30);
  T1:=AA>BB AND BB>CC;
  以上情况维持一段时间,假设我们这里定为4天以上:
  COUNT(T1,4)=4;
  COUNT(X,N)表示统计在N天内满足条件X的有几天。
  最终的结果就是如下所示:
  AA:=MA(CLOSE,5);
  BB:=MA(CLOSE,10);
  CC:=MA(CLOSE,30);
  T1:=AA>BB AND BB>CC;
  COUNT(T1,4 )=4
  
  编写完毕,我们在上面的例子当中,举的是最简单的一个,其实您在编写的过程当中,还可以加上一些比较准确地描述,以取得更好的效果,例如同时三条均线向上发散等,当然还有您自己的心得。
  
  第十二课 逃顶K线形态之--黄昏之星
  一、概念学习
  当市场出现一条大阳线后,通常会产生跳空高开的情况,有时便会出现十字星或类似十字星的小阴线(小阳线)。另一种相反的情况是出现在一条大阴线后,在这两种情况下形成的类似十字星的K线都被称为“星型线”。
  当该形态出现在一段上升行情的当中,就很容易形成所谓的经典K线形态--黄昏之星。
  二、编制过程
  通过我们前面的学习,其实已经可以比较轻松的编制这个条件了--前人已经清晰地把这个形态的具体特征描述出来,剩下的工作就是把这些特征用数字表示--这就是前面提到的量化的过程!
  该图组合一共由三根K线合成,我们按照以下的步骤一步一步地一边寻找每日K线的特征,一边进行编写:
  为了结构简单起见,首先将二天的高开低收用中间表达式表达出来,因为我们在后面的编写过程中会分别使用到这些数据。
  1、今日K线的:开-A1, A1:=OPEN;
  收-A2, A2:=CLOSE;
  高-A3, A3:=HIGH;
  2、昨天K线的:开-B1, B1:=REF(OPEN,1);
  收-B2, B2:=REF(CLOSE,1);
  高-B3, B3:=REF(HIGH,1);
  低-B4, B4:=REF(LOW,1);
  3、前天K线的:开-C1, C1:=REF(OPEN,2);
  收-C2, C2:=REF(CLOSE,2);
  高-C3, C3:=REF(HIGH,2);
  低-C4, C4:=REF(LOW,2);
  4、我们将会分别描述出三天的K线形态,然后汇总,首先我们观察今日K线的特征,今天是一根低开低走的大阴线,我们给它一些数字上的定义:
  A、今日开盘价小于昨日收盘价; AA:=A1<B2 AND
  B、今日的阴线实体较长,我们用开盘价和收盘价相比,长度大于4%:A1/A2>1.04;
  5、昨日K线的特征,是一根十字形态的K线,并且在左右两根K线之上,分别表达为:
  A、昨日跳开,高于前天的收盘: BB:=B1>C3
  B、昨日收盘同样在缺口之上: AND B2>C3
  C、线形实体长度很小,也就是昨日开盘和收盘之差比昨日开盘的值小于0.01:AND ABS(B1-B2)/B1<0.01
  D、K线有上下影线,可以表示为最高价和最低价不等于收盘价也不等于开盘价:AND B3>B1 AND B3>B2 AND B4<B1 AND B4<B2
  E、当日的最高价为20天以来的最高价: AND B3=HHV(HIGH,20);
  6、前日K线的特征:股价大幅上扬,幅度较前一日收盘高出4%并且收盘大于开盘:CC:=C2/REF(CLOSE,3)>1.04 AND C2>C1;
  综合选股条件:最后我们将三天的K线特征会合起来,合成一个最后的条件就是由图所示内容: AA AND BB AND CC
  三、选股的结果
  我们把上面的条件按照前面章节所讲的方法带入到公式选股条件当中去检验。
  按下图作为标准
  四、总结
  其实到底是难还是不难呢?其实不难,只是你要细心一点把一个一个的条件组合起来,有机地结合起来!我们的许多形态就是这样由一个一个的K线组合起来的结果!
  1、我们测试了将近4年的时间,一共找到了几个这样的信号,您满意吗?--应该说,不满意!可是原因在哪里呢?--我们的条件过于苛刻,因为要同时满足的条件太多,您可以尝试更改一些条件以获得更多的信号!
  2、大家还会发现有的信号出现的位置不好,例如西飞国际,因为我们其中有一个条件不是很好,不过您可以做到将它去掉--告诉我您可以做到,算是课后作业吧,我看相对高位DD:=B3=HHV(HIGH,20),怎么看都不舒服,您有什么办法?
  
  突破底部横盘整理创新高!
  “横的越长,竖的越高”,业内业外一直流传这样一句话。真实的讲,它描绘了股票的价格在一定的范围上下波动,如果有庄家主力在其中悄悄吸纳......直到某一天股价一鹤冲天!沉寂时间越长,爆发力越惊人!
  正所谓“三年不鸣,一鸣惊人”......
  公式编写:
  我们寻找各种特征,并用数字表示出来:“长期”设定为150天;“横盘”设定股价在150日均线上下15%波动;放量;并且股价创下150天以来的历史新高!
  1、首先用公式描述放量
  A、将会使用5日均量来进行比较,成交量比昨日成交量放大两倍;
  B、V1是五日均量,REF(V1,1)就是昨日的均量;
  V1:=MA(VOL,5); V2:=VOL/REF(V1,1)>2;
  2、长期横盘
  A、PZ1是当天150日均价: PZ1:=MA(CLOSE,M);
  B、PZ2是150日的最高价; PZ2:=HHV(HIGH,M);
  C、PZ3是150日的最低价; PZ3:=LLV(LOW,M);
  D、PZ4是150日的最高价和150日均价的距离的百分比,PZ5刚好相反是最低价和均价的差的百分比; PZ4:=(PZ2-PZ1)/PZ1; PZ5:=(PZ1-PZ3)/PZ1;
  E、设为股价在150日均线上下15%波动,也就是PZ4、PZ5都小于0.15;
  PZ:=REF(PZ4,1)<0.5 AND REF(PZ5,1)<0.15;
  3、今天创下历史新高,也就是今天的最高价是150天内的最高价! TP1:HHV(HIGH,M); TP:=HIGH=TP1;
  综合三个条件的最后的逻辑判断式就是我们的最后结论! V2 AND PZ AND TP(参数M=150天)
  
  这样,您将上面多写的内容,简单的编入到公式编辑器中去,我们的工作就已经做完了,剩下的测设,大家请按照我们前面所讲的内容去做,只有不断地完善你的公式,把它和实战结合起来,形成您自己的特点的操作体系,您才算是有了自己的武器!
  函数介绍:
  HHV(X,M)
  表示X在M天内的最高值!
  例如:
  HHV(HIGH,150)每日最高价在150天内的最大值
  HHV(VOL,150)每日成交量在150天内的最大值
  
  LLV(X,M)
  表示X在M天内的最小值
  例如:
  LLV(LOW,10)每日最低价在10天内的最小值
  HHV(VOL,20)每日成交量在20天内的最小值
  好了!第十课我们也讲完了,我们来回顾一下我们的课程,做一个最后的总结!
  事实上,编写公式并不是一件很难的事情!他并不是为编写复杂的公式而在编写公式,恰如孔乙己会写四种回字又有何意义?重要的是您要深刻地理解某一点、某一处--没有人可以全部了解这个市场,可是也很少有人能够潜下心来去想清楚一个问题。
  在编写公式的时候,大家一定体会到了,由于计算机的使用给我们带来了巨大的方便,可使计算机并不是完全智能化的,所以它只是一个工具,还有着许多的重要的工作需要人去完成,您千万不能放弃了自己而去迷信一个工具,可能它是您的帮手,但目前来说,无法替代您!您的投资还得由您去做!
  __________________
  让您对钱途充满信心
  
  
工具箱  

【 · 原创:夜雪归人  2005-05-12 09:46 】  
  公式说明书
  (一)、公式编写规则
  1.语言规范:
  在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。
  关键字 if else while break continue return (无大小写之分)
  常数 浮点数、整数、字符串
  分隔符 “ ” ‘ ’ ( ) ; { } 注释/* */
  标识符 由字母和数字组成,由字母开头,不分大小写
  运算符(优先级从高到低排列,同级同行) * /
   + -
   == != > < >= <=
   And
   Or
  语句 赋值 a = b
   条件 IF (a==b) c=d;
   循环 while a==b c=d;
   函数调用 func(a,b)
  直接访问数据项的函数
  例如:OPEN[t] 为t周期之前的开盘价
  所有行情数据项(CLOSE等)都与此相同。
  
  2.标识符: 标识符在表达式中只存名称,值保留在符号表。标识符包括函数名、参数名和变量名。函数名用来传递函数返回值;参数名用于函数调用时的参数传递;变量名在计算中存储中间计算结果。
  
  3.分隔符:
  符号 含义
  “ ” 引用字符串
  ‘ ’ 引用字符
  ( ) 控制运算的优先级
  ; 每行语句的结束标志
  { } 将多个语句组合成一个语句体
  /* */ 注释,无任何实际功能
  
  4.赋值语句:
  其一般形式为:
  a=b; 含义为将b的值付给a。
  几个运算符“=”“:=”“:”“:>”。其含义分别为“赋值”、 “赋值”、“赋值并输出数值或字符串”、“赋值并输出图形”。
  注意:“=”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。
  5.条件语句:
  其一般形式为:
  IF(逻辑表达式) 语句1;
  ELSE 语句2;
  上述结构表示: 如果逻辑表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句1而执行语句2。
  注意:
  1、条件执行语句中"ELSE 语句2;"部分是选择项, 可以缺省, 此时条件语句变成:
  IF(逻辑表达式) 语句1;
  表示若逻辑表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。

2、如果语句1或语句2有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为:
  IF(逻辑表达式) { 语句体1; }
  ELSE { 语句体2; }
  这里语句体指多个语句,每个语句都必须以“;”结尾。
  3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个IF对应哪个ELSE。
  例如:
  IF(x>20 OR x<-10)
  IF(y<=100 AND y>x)
  A="Good";
  ELSE
  B="Bad";
  对于上述情况, 规定: ELSE语句与最近的一个IF语句匹配, 上例
  中的ELSE与IF(y<=100 AND y>x)相匹配。为了使ELSE与IF(x>20 OR x<-10)相匹配, 必须用花括号。如下所示:
  IF(x>20 OR x<-10)
  { IF(y<=100 AND y>x)
  A="Good"; }
  ELSE B="Bad";
  4. 可用阶梯式IF-ELSE-IF结构。
  阶梯式结构的一般形式为:
  IF(逻辑表达式1) 语句1;
  ELSE IF(逻辑表达式2) 语句2;
  ELSE IF(逻辑表达式3) 语句3;
  6.循环语句:
  while循环的一般形式为:
  while(条件) 语句;
  while循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。
  注意:
  1、可以有多层循环嵌套。
  2、语句可以是语句体, 此时必须用"{"和"}"括起来。
  break语句
  break语句通常用在循环语句中。当break语句用while循环语句中时,可使程序终止循环而执行循环后面的语句, 通常break语句总是与if语句联在一起。 即满足条件时便跳出循环。
  注意:
  1、break语句对if-else的条件语句不起作用。
  2、在多层循环中, 一个break语句只向外跳一层。
  continue 语句
  continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。
  continue语句只用在while循环体中, 常与if条件语句一起使用, 用来加速循环。
  
  7.函数调用:
  调用函数的基本方式为:函数名(参数,参数,…)
  其返回值为函数里面的return语句规定的返回值。若无return语句,则返回被调用函数里,以函数名命名的变量的值。若无以函数名命名的变量,则返回最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。
  例如:调用KDJ指标。KDJ函数的名称为kdj,其参数和内容如下:
  参数名 最小值 最大值 默认值
  N1 1 100 9
  M1 2 40 3
  M2 2 40 3
  函数内容为:
  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
  则当您在其它函数里输入a=KDJ(8,6,6)的时候,相当于计算N1=8,M1=6,M2=6时的J值,并把这个值赋给a。
  注意:
  1、当传递的参数数目不等于被调用函数设置的参数数目时。
  a、没有传递参数。则采用原来设置的默认参数计算。
  b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。
  c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。
  2、函数名称不区分大小写。
  3、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时要注意。
  返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用return,或者将函数名指定为其中一项输出。
  8.关于“空”的问题:
  所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(&jlr,4),其含义为取该公司3年前年报的净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为“空”。
  1、“空”与任何数据作计算时,相应计算被取消。
  例如:7×NULL(即“空”)得到的结果为7。
  2、“空”与任何数据比较大小时,“空”较小。
  例如:-7>NULL(即“空”)得到的结果为1(即条件满足)。
  这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用ISNULL函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。
  
  (二)、行情数据说明
  1.代码与周期:
  由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数据都只能用于特定的一类或几类代码及相应的一个或几个周期。(注意:同一个数据项可能适用于多类代码及多个周期,其具体的数值也将不同。)
  代码的分类:个股(含债券)。沪深指数(仅1A0001(统计上海A、B股基金)、1A0002(统计上海A股)、1A0003(统计上海B股)、399001(统计深圳A、B股基金)、399002(统计深圳A股)、399003(统计深圳B股)六个指数)。期货。
  周期分类:实时(记录当前传过来的数据)、成交明细(记录每一笔成交的数据)、分时(记录每分钟成交的数据)、分钟K线(以1分钟为单位的K线数据)、日K线(以1个交易日为单位的K线数据)。
  注意: 一、分时与分钟K线的区别在于:分钟K线数据较多,包含了与K线相关的高、开、低、收、成交次数等数据。二、沪深指数没有成交明细周期的数据。三、适用于分钟K线、日K线周期的所有数据,都同时适用于个股与沪深指数,只不过其数据内容不同而已。
  由于行情数据和财务数据同属于基本数据项,即其数值是主站端直接发过来,所以他们自身并不带周期。而其它计算项,即由客户端编写公式计算得到的数据项都是带有周期的。也就是说在编写一个公式的时候我们需要确定一个周期(由于分钟K线、日K线周期里的各项数据仅有微小差别,所以统称为技术分析周期),并且想清楚这个公式里调用的各项基本数据在这个周期下的具体含义。以后只有在这个周期下才能调用这个公式。
  注意:基本数据项自身并不带周期,也就是说编写公式的时候,如果所选用的周期不在此数据项的适用范围内,测试公式的时候系统是不会报错的,但这个数据项的数值将为“空”,即取不到任何数据。
  注意:所有的基本数据项都可以直接拖到表格里,它将依照表格的代码、周期而显示相应的数值。也都可以直接拖到窗口里作为一个曲线输出,但一般不推荐这样做,如果要画曲线最好新编写一个“曲线公式”。
  另外,各个数据项用于期货时的意义另文说明。
  2.通用数据项:
  NEW(现价)
  含义:用于个股时为最近一笔成交的价格。用于沪深指数时为最近一次从交易所传来的指数值。
  用于:个股的实时、成交明细周期。沪深指数的实时周期。
  NEWVOL(现手)
  含义:用于个股时为最近一笔成交的成交量。用于沪深指数时为对应市场的所有股票的最后一笔成交量之和。
  用于:个股的实时、成交明细周期。沪深指数的实时周期。
  INVOL(内盘)、OUTVOL(外盘)
  含义:内盘、外盘(又称为主动性抛盘、主动性买盘)成交量。判断依据为若某笔成交,其价格小于等于前一次传过来的买一的价格,则称为内盘;若其价格大于等于前一次传过来的卖一的价格,则称为外盘。(注意,内外盘之和一般不等于总成交量)在周期为“实时”、“分时”时,为当日的内、外盘。在周期为“分钟K线”和“日K线”时,分别为某一分钟和某一日的内、外盘。用于指数时指所有相应股票的内、外盘之和。
  用于:个股的实时、分时、分钟K线、日K线周期。沪深指数的实时、分时、分钟K线、日K线周期。
  OPEN(开盘)、HIGH(最高)、LOW(最低)
  含义:在实时周期时,为当日的开盘价、最高价、最低价。在分钟K线、日K线周期时,分别为当周期的开盘价、最高价、最低价。
  用于:个股的实时、分钟K线、日K线周期。沪深指数的实时、分钟K线、日K线周期。
  CLOSE(收盘)
  含义:当周期的收盘价。
  用于:个股的分钟K线、日K线周期。沪深指数的分钟K线、日K线周期。
  PRE(昨收)
  含义:上一交易日的收盘价。(注意,在分钟K线周期,也是昨日收盘价,而不是上一周期的收盘价。)如果当天有除权,则其值为除权之后的昨日收盘价。例如:某股票昨天收盘20元,今天除权,10送10。则今日PRE值为10元。
  用于:所有类型、所有周期。
  MONEY(金额)
  含义:在实时、分时周期时代表当日的成交金额只和。在分钟K线、日K线周期时代表那一个周期的成交金额只和。当用于指数时,指此指数所包含所有交易品种成交金额之和。
  用于:个股的实时、分时、分钟K线、日K线周期。沪深指数的实时、分时、分钟K线、日K线周期。
  VOL(总手)
  含义:在实时、分时、成交明细周期时代表当日的成交量只和。在分钟K线、日K线周期时代表那一个周期的成交量只和。当用于指数时,指此指数所包含所有交易品种成交量之和。
  用于:个股的实时、分时、成交明细、分钟K线、日K线周期。沪深指数的实时、分时、分钟K线、日K线周期。(注意,VOL与MONEY相比多了一个成交明细周期。)
  OPENVOL(开盘量)
  含义:开盘时第一笔成交的成交量。当用于指数时,指此指数所包含所有交易品种开盘集合竞价成交量之和。
  用于:个股的实时、日K线周期。沪深指数的实时、日K线周期。
  ZQMC(名称)、CODE&TYPE(代码)
  含义:证券的名称、代码。
  用于:个股的所有周期。沪深指数的所有周期。
  DATETIME(时间)
  含义:显示时间。当用于不同周期的时候,系统会自动传送相应的时间类型。而具体的显示方案则在“窗口属性”的“时间坐标”项里的“时间格式”一栏里选择。
  用于:个股、沪深指数所有的周期。
  VALIDBEGIN(起始)、VALIDEND(终止)
  含义:区间统计的起始、终止时间。当用于不同周期的时候,系统会自动传送相应的时间类型。而具体的显示方案则在“窗口属性”的“时间坐标”项里的“时间格式”一栏里选择。与DATETIME(时间)的用法类似。
  用于:个股、沪深指数所有的周期。
  3. 仅用于个股的数据项:
  FIVEDAYVOL(五日总量)
  含义:过去五日各交易成交量之和。
  用于:个股的所有的周期。(主要用来计算量比)
  BUYPRICE1(买一)、BUYPRICE2(买二)、BUYPRICE3(买三)、SELLPRICE1(卖一)、SELLPRICE2(卖二)、SELLPRICE3(卖三)、BUYCOUNT1(买一量)、BUYCOUNT2(买二量)、BUYCOUNT3(买三量)、SELLCOUNT1(卖一量)、SELLCOUNT2(卖二量)、SELLCOUNT3(卖三量)
  含义:委托买入、卖出价格一、二、三及对应的委托数量。
  用于:个股的实时周期。
  VOLAMOUNT(成交次数)
  含义:在周期为“实时”时,为当日的成交次数。在周期为“分钟K线”和“日K线”时,分别为某一分钟和某一日的成交次数。
  用于:个股的实时、分钟K线、日K线周期。
  VOLCLASS(成交量分类)
  含义:其数值与该笔成交的价位关系为:“3”为“成交价<=买三价”,“2”为“买三价<成交价<=买二价”,“1”为“买二价<成交价<=买一价”,“0”为“买一价<成交价<卖一价”,“5”为“卖一价<=成交价<卖二价”,“6”为“卖二价<=成交价<卖三价”,“5”为“卖三价<=成交价”。(注意,这里的买卖盘的价格都是指上一次传过来的价格,与内外盘原理相同。也可以将“成交量分类”视为划分更为详细的内外盘。)
  用于:个股的实时、分时、成交明细。
  SELLPRICE(卖出)、BUYPRICE(买入)
  含义:本次成交时的委托卖出、买入价。即用于成交明细的买一价、卖一价。
  用于:个股的成交明细周期。
  4. 仅适用于大盘的数据项:
  SELLCOUNT(委卖)、BUYCOUNT(委买)
  含义:当前本类指数所有股票的卖出数量、买入数量之和。
  用于:沪深指数的实时、分时周期。
  FALLTREND(下跌趋势)、RISETREND(上涨趋势)
  含义:当前本类指数所有下跌、上涨股票的最新价之和除以本类指数所有股票的最新价之和。
  用于:沪深指数的实时、分时周期。
  FALLCOUNT(下跌家数)、RISECOUNT(上涨家数)
  含义:当前本类指数所有下跌、上涨股票的家数之和。
  用于:沪深指数的实时、分时周期。
  INDEXLEAD(领先指标)
  含义:即不加权的指标涨跌幅再乘以10000。具体地说就是,设A=“当前本类指数所有股票的最新价之和”,B=“当前本类指数所有股票的昨日收盘价”。那么INDEXLEAD=(A-B)/B×10000。
  用于:沪深指数的实时、分时周期。
  TOTALSTOCK(本类股票总数)
  含义:本类股票家数之和。
  用于:沪深指数的实时周期。
  5. 其它数据项:
  CODETYPE(证券类型)
  含义:指明当前商品的类型。当返回值是0时为指数、1是A股、2是B股、3是债券、4是基金。
  用于:个股、指数的各种周期。
  MARKETTYPE(市场类别)、INDEXTYPE(指数种类)
  这两个数据项属于保留数据项,目前暂时没用,可能会在以后用到。
  
  三、财务数据说明
  这里的财务数据项都是根据财政部制定的《企业会计制度》(于2001年1月1日起执行)里面规定的季报、中报、年报的各种报表里面的项目编列的。每一项的具体含义都与《企业会计制度》(2001)里面的规定完全相同。另外我们还依照上市公司的特性将十大股东的名称、持股数,股东人数,股本结构,权息资料都列在财务数据项中。
  由于数据众多(公司、基本有1300多家,几乎每家的数据项都达400多项,且每项又分不同的时期)所以这个数据库相当庞大,检索起来较慢且消耗大量系统资源。因此我们设立了“常用数据项”目录,这里面有100项左右常用的财务数据,含盖了股民在绝大多数情况下的需求。这些数据被放在一个特殊的数据文件里面检索速度很快且系统资源占用量较小。所以大家一般编写公式就在“常用数据项”目录里面找相关的数据就可以了。而其它的那些数据都是用SQL数据库检索,建议只提供给少数重要客户。
  注意: 用纯财务数据写的计算项放在表格里面的时候,周期要选择日线,否则无法显示。而在其它情况下,财务数据项适用于任何周期。
  四、资讯数据说明
  这里列出了您可以使用的各种资讯数据。您可以将这些资讯数据加入到页面和表格里面。
  例如:您可以将“维赛特资讯”——“个股资讯”——“个股历史资讯”项拖到K线图里,您可以看到出现一个个与相应资讯所对应的图标,即我们通常说的信息地雷。
  注意:这里的各个资讯数据项要主站的支持,即主站要有数据。
  五、财务分析说明
  “比较”目录下面是相应数据从97年到2001年年报数据的输出,共5项输出,在表格里先选择“支持多数据项目分解”再拖进去就可以看见5年的内容了。
  注意:“股东权益”等同于“净资产”
  MGXJZJ,每股现金及现金等价物净增加额。
  计算方法:现金及现金等价物净增加额/股数
  JYXJLRBL,经营活动产生的现金流量净额与净利润比率。
  计算方法:经营活动产生的现金流量净额/净利润
  XSXJZYSRBL,销售商品收到现金与主营业务收入比率。
  计算方法:销售商品、提供劳务收到的现金/主营业务收入×100
  含义:正常周转企业该指标应大于1。如果指标较低,可能是关联交易较大、虚构销售收入或透支将来的销售,都可能会使来年的业绩大幅下降。
  ZCBL,资产倍率。
  计算方法:每股市场价/每股资产值
  ZZCHBL,总资产回报率。
  计算方法:净利润/总资产期末数×100
  JZCSYL,净资产收益率。
  计算方法:净利润/净资产×100
  含义:又称股东权益收益率,这个指标反应股东投入的资金能产生多少利润。
  ZCSYL,资产收益率。
  计算方法:净利润×2/(期初资产总额+期末资产总额)×100%
  含义:资产收益率反应了企业的总资产利用效率,或者说是企业所有资产的获利能力。
  SHLRL,税后利润率。
  计算方法:净利润/主营业务收入×100
  SQLRL,税前利润率。
  计算方法:利润总额/主营业务收入×100
  YYLRL,营业利润率。
  计算方法:营业利润/主营业务收入×100=(主营业务利润+其它利润-营业费用-管理费用-财务费用)/主营业务收入×100
  ZYYWLRL,主营业务利润率。
  计算方法:主营业务利润/主营业务收入×100
  含义:一个企业如果要实现可持续性发展,主营业务利润率处于同行业前列并保持稳定十分重要。但是如果该指标异忽寻常地高于同业平均水平也 应该谨慎了。
  XSMLL,销售毛利率。
  计算方法:(主营业务收入-主营业务成本)/主营业务收入×100
  YYCBBL,营业成本比率。
  计算方法:营业成本/主营业务收入×100
  含义:在同行之间,营业成本比率最具有可比性,原因是原材料消耗大体一致,生产设备及工资支出也较为一致,发生在这一指标上的差异可以说明各公司之间在资源优势、区位优势、技术优势及劳动生产率等方面的状况。那些营业成本比率较低的同行,往往就存在某种优势,而且这些优势也造成了盈利能力上的差异。相反,那些营业成本比率较高的同行,在盈利能力不免处于劣势地位。
  QTYSZKL,其他应收帐款率。
  计算方法:其他应收帐款/流动资产
  含义:其他应收帐款主要核算与生产经营销售活动无关的款项来往,一般应该较小。如果该指标较高则说明流动资金运用在非正常经营活动的比例高,就应该注意是否与关联交易有关。
  GDQYZZL,股东权益周转率。
  计算方法:销售收入/平均股东权益(注意:此处平均指的是期初值和期末值的算术平均值)
  ZZCZZL,总资产周转率。
  计算方法:销售收入/平均资产总额
  含义:该指标越大说明销售能力越强。
  GDZCZZL,固定资产周转率。
  计算方法:销售收入/平均固定资产
  含义:该比率是衡量企业运用固定资产效率的指标,指标越高表示固定资产运用效果越好。
  ZHZZTS,存货周转天数。
  计算方法:360天×(期初存货+期末存货)/销货成本×2
  ZHZZL,存货周转率。
  计算方法:销货成本×2/(期初存货+期末存货)
  含义:存货周转率(天数)表达了公司产品的产销率,如果和同行业其它公司相比周转率太小(或天数太长),就要注意公司产品是否能顺利销售。
  SXFYHJ,三项费用合计。
  计算方法:营业费用+管理费用+财务费用
  含义:三项费用之和反应了企业的经营成本如果三项费用合计相对于主营业务收入大幅增加(或减少)则说明企业产生了一定的变化,要提 起注意。
  GLFYL,管理费用率。
  计算方法:管理费用/主营业务收入
  YYFYL,营业费用率。
  计算方法:营业费用/主营业务收入
  CWFYL,财务费用率。
  计算方法:财务费用/主营业务收入
  YXFZBL,有息负债比率。
  计算方法:(短期借款+一年内到期的长期负债+长期借款+应付债券+长期应付款)/股东权益期末数×100
  含义:无息负债与有息负债对利润的影响是完全不同的,前者不直接减少利润,后者可以通过财务费用减少利润;因此,公司在降低负债率方面,应当重点减少有息负债,而不是无息负债,这对于利润增长或扭亏为盈具有重大意义。在揭示公司偿债能力方面,100%是国际公认的有息负债对资本的比率的资本安全警戒线。
  GDQYYGDZCBL,股东权益与固定资产比率。
  计算方法:(股东权益总额/固定资产总额×100
  含义:一个财务结构稳定性指标。
  CQFZBL,长期负债比率。
  计算方法:长期负债/资产总计×100
  ZBFZBL,资本负债比率。
  计算方法:负债合计/股东权益×100
  含义:比资产负债率这一指标更能准确地揭示企业的偿债能力状况,因为公司只能通过增加资本的途径来降低负债率。资本负债率为200%为一般的警戒线,若超过则应该格外关注。
  ZCFZBL,资产负债比率。
  计算方法:负债总额/资产总额×100%
  含义:反映总资产中有多大比例是通过借债得来的。
  GDQYBL,股东权益比率。
  计算方法:股东权益总额/资产总额×100
  含义:反映所有者提供的资本在总资产中的比重,反映企业的基本财务结构是否稳定。一般来说比率高是低风险、低报酬的财务结构,比率低是高风险、高报酬的财务结构。
  YSZKZZTS,应收帐款周转天数。
  计算方法:360天×平均应收帐款/销售收入
  
  含义:表达年度内应收帐款转为现金的平均天数。影响企业的短期偿债能力。
  YSZKZZL,应收帐款周转率。
  计算方法:销售收入/平均应收帐款
  含义:表达年度内应收帐款转为现金的平均次数。如果周转率太低则影响企业的短期偿债能力。
  XJBL,现金比率。
  计算方法:货币资金/流动负债
  含义:现金比率反应了企业偿还短期债务的能力。
  SDBL,速动比率。
  计算方法:(流动资产-存货)/流动负债
  含义:由于种种原因存货的变现能力较差,因此把存货从流动资产种减去后得到的速动比率反映的短期偿债能力更令人信服。一般认为企业合理的最低速动比率是1。但是,行业对速动比率的影响较大。比如,商店几乎没有应收帐款,比率会大大低于1。影响速动比率的可信度的重要因素是应收帐款的变现能力。
  主营业务收入增长。
  计算方法:(本期主营业务收入-上年同期主营业务收入)/上年同期主营业务收入×100
  含义:一般当产品处于成长期,增长率应大于10%。
  
  (三)、系统函数说明
  函数是为了实现某一运算功能而用来被公式调用的。按函数的功能分为板块、财务、指标、逻辑、引用、时间、算术、统计共八类。
  (1). 板块函数:
  1、板块平均:求板块里某一数据项的平均值。
  用法:BLOCKAVG(&N),N表示选择的数据项。例如:BLOCKAVG(&NEW)表示这个板块里所有股票当前时刻的平均价。
  2、板块最小值:求板块里某一数据项的最小值。
  用法:BLOCKMIN(&N),N表示选择的数据项。例如:BLOCKMIN(&LOW)表示这个板块里所有股票当天的最低价。
  3、板块最大值:求板块里某一数据项的最大值。
  用法:BLOCKMAX(&N),N表示选择的数据项。例如:BLOCKMAX(&HIGH)表示这个板块里所有股票当天的最高价。
  4、板块求和:求板块里某一数据项的和。
  用法:BLOCKSUM(&N),N表示选择的数据项。例如:BLOCKSUM(&VOL)表示这个板块里所有股票当前时刻的总成交手数。
  5、取板块领先股票:取板块指数的所属个股中数据X最大的股票的数据Y。适用于板块指数。
  用法:BLOCKLEAD(&X,&Y) 取板块指数中个股数据X最大的股票的数据Y。例如:BLOCKLEAD(&VOL,&ZQMC)取该板块指数中成交量最大的股票名称。
  (2) 财务函数:
  1、季报:调用季报数据项。
  用法:QUARTERREP(&N,K,L),N为财务数据项,K可以是1(表示最近一次的季报)、2(表示上一次的季报)、3、4等或者直接输入希望调用的年份,L可以是1或3即第一季度或第三季度的季报。注意L仅在K选择年份的时候适用。
  2、年报:调用年报数据项。
  用法:YEARREP(&N,K),N为财务数据项,K可以是1(表示最近一次的年报)、2(表示上一次的年报)、3、4等或者直接输入希望调用的年份。
  注意:N要为基本的财务数据项,而不能是编写的计算项目,即N为功能树里公式栏里面的“财务数据”目录下面的数据项。
  3、中报:调用中报数据项。
  用法:MIDREP(&N,K,L),N为财务数据项,K可以是1(表示最近一次的中报)、2(表示上一次的中报)、3、4等或者直接输入希望调用的年份。
  4、同期报表:调用最近一次报表或与其同类型报表的数据项。
  用法:REP(&N,K) N为财务数据项,K为1(表示最近一次公布的报表)、2(表示去年与最近一次公布报表同类型报表)、3、4等。
  5、取报表日期:取某个财务数据项的报表日期。
  用法:REPDATE(&N,M,K), N=财务数据项。M=引用周期数,与YEARREP等的调用相同。K=1、一季度报表,2、中报,3、三季度报表,4、年报。 如REPDATE(&ZGB,1,4),表示取最近总股本年报的报表日期。
  (3) 指标函数:
  1、成本:成本分布情况。
  用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘。该函数仅对日线分析周期有效。
  2、分价函数:用来制作分价表。
  用法:在制作分价表的时候选择多数据项输出,然后直接将这个函数拖进数据项选择框就可以了。
  3、成本分布:用于画成交分布云。
  用法:用于画成交分布云。例如CM(0,1,2,0)。参数含义:1、计算天数,0表示计算全部天数。2、当日成本算法:0=平均分布,1=三角分布。3、精度:一般是2。4、起始位置:0是从当天开始计算,1是从前一天开始算,类推。5、换手:缺省是3,即300%换手。参数5可以没有。
  基本原理:我们对历史筹码是依后面的换手率而递减的。我们相信这样基本反应了一个事实即历史越悠久的成交,对当前的影响越小。比如说,1000万的盘子,前天均价为10元,成交量为200万,也就是20%换手率;昨天以均价11元又成交300万,也就是30%换手率;那前天的200万成交量怎么样了呢?成本分析假定,前天的200万在昨天也以11元被30%换手了,那么,前天以10元成交的成交量还剩了200*(1-30%)=140万;若今天以均价12元又成交了400万,同理可算,现在的筹码分布是:10元筹码为200*(1-30%)*(1-40%)=84万,11元的筹码为300*(1-40%)=180万,12元的筹码是400万。
  4、之字转向。
  用法:ZIG(K,N),当价格变化量超过N%时转向,K表示0:开盘价,1:最高价,2:最低价,3:收盘价。例如:ZIG(3,5)表示当前收盘价超过上次ZIG转向输出值的+5%或-5%,则输出当前收盘价并ZIG转向。
  5、获利盘:表示获利盘比例。
  用法:WINNER(CLOSE),表示以当前收市价卖出的获利盘比例。例如返回0,1表示10%获利盘;WINNER(10,5)表示10,5元价格的获利盘比例。该函数仅对日线分析周期有效。
  6、抛物转向:计算抛物转向。
  用法:SAR(N,S,M),N为计算周期,S为步长,M为极值。例如,SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20%。
  7、远期获利盘比例:计算远期获利盘比例。
  用法:PWINNER(10,CLOSE) 表示10天前的那部分成本以当前收市价卖出的获利盘比例,例如返回0.2表示20%获利盘;该函数仅对日线分析周期有效。
  (4) 逻辑函数:
  1、条件函数:根据条件求不同的值。
  用法:IF(X,A,B)若X不为0则返回A,否则返回B。 例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。
  
  参见“条件语句”。
  
  (5) 引用函数:
  1、满足条件的周期数:统计满足条件的周期数。
  用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数。
  2、第一个条件成立到当前的周期数:统计第一个条件成立到当前的周期数。
  用法:BARSSINCE(X):第一次X不为0到现在的天数。例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数。
  3、上一次条件成立到当前的周期数:上一次条件成立到当前的周期数。
  用法:BARSLAST(X),上一次X不为0到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1,1)表示上一个涨停板到当前的周期数。
  4、有效周期数:求总的周期数。
  用法:BARSCOUNT(X),第一个有效数据到当前的天数。
  5、向前赋值:将当前位置到若干周期前的数据设为1。
  用法:BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0。
  6、求和:求总和。
  用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。例如:SUM(VOL,5)周期设为日线时,表示最近5个交易日的成交量之和。SUM(VOL,0)表示从传数据过来第一天起的成交量总和,具体如在区间统计里统计“总手” SUM(VOL,0)即是指全区间的成交量之和。
  7、移动平均:求移动平均。
  用法: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日移动平均价。
  8、向前引用:引用若干周期前的数据。
  用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收。
  9、简单移动平均:求简单移动平均。
  用法:MA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+,,,+Xn)/N。例如:MA(CLOSE,10)表示求10日均价。
  10、最低值:求最低值。
  用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。例如:LLV(LOW,0)表示求历史最低价。
  11、最高值:求最高值。
  用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。 例如:HHV(HIGH,30)表示求30日最高价。
  12、指数平滑移动平均:求指数平滑移动平均。
  用法:EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指数平滑均价。
  13、动态移动平均:求动态移动平均。
  用法:DMA(X,A),求X的动态移动平均。算法: 若Y=DMA(X,A)则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价。
  14、最高值周期数:求上一高点到当前的周期数。
  用法:HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计。例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数。
  15、最低值周期数:求上一低点到当前的周期数。
  用法:LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计。例如:LLVBARS(HIGH,10)求得10日最低点到当前的周期数。
  16、加权移动平均:求加权移动平均。
  用法:WMA(X,A),求X的加权移动平均。
  算法:若Y=WMA(X,A) 则Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1) X0表示本周期值,X1表示上一周期值...。
  例如:WMA(CLOSE,20)表示求20日加权均价。
  17、求和:向前累加到指定值到现在的周期数。
  用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数。例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数。
  (6) 时间函数:
  1、总开盘分钟:求当前代码类型的开市交易时间。
  用法:TRADETIME。返回交易时间,单位为分钟。目前一般市场都返回242,与日期或具体的股票无关。
  2、距开盘分钟:求当前时刻距开盘有多长时间。
  用法:FROMOPEN。返回当前时刻距开盘有多长时间,单位为分钟。例如:当前时刻为早上十点,则返回31。
  3、距午夜秒:求当前时刻距开盘有多长时间。
  用法:FROMNIGHT。返回当前时刻距午夜有多长时间,单位为秒。例如:当前时刻为早上十点,则返回36000。
  4、时间格式:转换时间格式。
  用法:FORMATTIME(N)。目前只支持 N=1 把当前时间转换成距开盘分钟数返回。例如:分时中的量比曲线公式:
  (VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。
  5、时间差:计算两个时间之间的差。
  用法:COUNTTIME(N,L,K)。N、L为时间,其格式为YYYYMMDD。K为1、2或者3。当K为1时返回第二个之间比第一个时间晚多少年。当K为2时返回第二个之间比第一个时间晚多少月。当K为3时返回第二个之间比第一个时间晚多少日。例如:COUNTTIME(20000808,19990606,2)其返回值为-2。注意:这里返回值有正负号。
  (7) 算术函数:
  1、绝对值:求绝对值。
  用法:ABS(X)返回X的绝对值。例如:ABS(-34)返回34。
  2、介于:介于两个数之间。
  用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0
  例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间。
  3、最大值:求最大值。
  用法:MAX(A,B)返回A和B中的较大值。例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0。
  4、最小值:求最小值。
  用法:MIN(A,B)返回A和B中的较小值。例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值。
  5、求模运算:求模运算。
  用法:MOD(A,B)返回A对B求模。例如:MOD(26,10)返回6。
  6、求逻辑非:求逻辑非。
  用法:NOT(X)返回非X,即当X=0时返回1,否则返回0。例如:NOT(5>3)返回0。
  7、范围:介于某个范围之间。
  用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0。例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盘价大于5日均线并且小于10日均线。
  8、求相反数:求相反数。
  用法:REVERSE(X)返回-X。 例如REVERSE(CLOSE)返回-CLOSE。
  9、余弦值:求余弦值。
  用法:COS(X)返回X的余弦值。
  10、正弦值:求正弦值。
  用法:SIN(X)返回X的正弦值。
  11、平方根:开平方。
  用法:SQRT(X)为X的平方根。例如:SQRT(CLOSE)收盘价的平方根。
  12、上穿:两条线交叉。
  用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0。例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交金叉。
  13、维持:两条线维持一定周期后交叉。
  用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均线维持5周期后与10日均线交金叉。
  14、空:判断是否为空。
  用法:ISNULL(A)表示如果A为空(即没有数据)则返回1,否则返回0。
  15、幂:求幂。
  用法:POW(X,Y)。求X的Y次幂。例如:POW(2,3)为8。
  (8) 统计函数:
  1、标准差:求标准差。
  用法:STD(X,N)为X的N日估算标准差。
  2、商品数据:求与具体某种商品相关的数据。
  用法:INDEXDATA(“N”,&X,K)。N为商品代码。X为数据项。K为周期数(可以不加)。INDEXDATA(“1A0001”,&LOW,3)为3天前上证指数的最低点位。
  3、线性回归斜率:求某个数据的线性回归。
  用法:SLOPE(X,N)为X的N周期线性回归线的斜率。例如:SLOPE(CLOSE,10)表示求10周期线性回归线的斜率
  4、线性回归预测值:以某个数据的线性回归斜率向后延伸一个周期得到的数值。
  用法:FORCAST(X,N)为X的N周期线性回归预测值。例如:FORCAST(CLOSE,10)表示求10周期线性回归预测本周期收盘价。
  5、总体标准差:求总体标准差
  用法:STDP(X,N)为X的N日总体标准差。
  6、估算样本方差:求估算样本方差。
  用法:VAR(X,N)为X的N日估算样本方差。
  7、总体样本方差:求总体样本方差。
  用法:VARP(X,N)为X的N日总体样本方差。
  (四) 基本公式
  这里的各种公式都是一些用于设置银河双子星各种表格曲线的公式,我们预先写好您直接调用就可以了。当然您也完全可以根据个人爱好自己编写。
  注意:基本公式是用于编写配置用的,即只有高级版用户才能看到这个目录。
  这里主要有如下几类公式:板块统计、区间统计、报价公式、分时公式、技术分析、文本浏览、期货公式、筹码分布、大单公式、曲线标志、其他。
  板块统计:
  这里有4个用于统计板块数值的公式。
  1、板块均价。
  BLOCKPRICE,用于计算板块最新的平均价。
  2、板块最低价。
  BLOCKLOW,用于计算板块的最低价。
  3、板块最高价。
  BLOCKHIGH,用于计算板块的最高价。
  4、板块总手。
  BLOCKVOL,用于计算板块的板块总手。
  区间统计:
  这里面是各种用于区间统计的公式,在做区间统计表格的时候,要将这里面的公式拖到表格里,而不能用普通的行情数据项。
  报价公式:
  一般实时数据都是由交易所直接发过来的。那些需要计算得出来、且周期为实时的数据并不多,都是一些与大盘统计相关的公式,放在这个目录下。
  大盘目录:EQUALCOUNT(平盘家数)、DaPanWeiCha(委差)、DaPanWeiBi(委比)。
  这三个函数都是直接调用不附带参数。其值分别为大盘指数对应的股票的平盘家数、所有对应的股票的委差之和、及以此计算的委比。
  分时公式:
  5ZSZBH(五分钟总市值变化)、FiveRiseCount(五分钟涨跌)、FiveRise(五分钟涨幅)。
  这三项都是统计与5分钟相关的几个数据。
  FenShiVolClass(分时成交量颜色),这是用来显示分时成交量颜色的公式。点修改,可以看到这个公式的输出为“黄”、“阴”、“平”三个曲线标志。在“输出方案设置”里面我们知道,当“输出颜色设置”选择“其它数据的颜色表示涨跌色”,而当其它数据输出为“曲线标志”时,则显示其标志的颜色。所以,这里通过三个“曲线标志”的颜色来显示分时成交量的颜色。
  技术分析:
  这里前5项都是与K线相关的数据项。
  VolColor(成交量颜色),其原理与上面介绍的“分时成交量颜色”类似,用于显示K线的成交量的颜色。
  文本浏览:
  这里是用于建文本窗口的公式。如,用于F10页面的“个股资料”。
  期货公式:
  用于建期货页面的公式。这里的公式都是用“期货数据”编写的。
  筹码分布:
  这里是筹码分布和火焰山公式。其详细含义、用法参见《筹码分布及火焰山》。
  大单公式:
  这里放有做各种不同“大单表”的公式。
  曲线标志:
  这里是各种用于画在曲线上的标志图形,使用时将其拖到窗口里面就可以了。如,除权标志。
  还有几个最常用的曲线,如K线、分时走势、均线、及其成交量的柱状图等。在“技术指标”下面的“曲线”目录里面。
  八、条件选股
  条件选股是根据提供系统或用户编制的条件选股公式进行选股选定一个条件选股公式或多个组合条件后,计算机自动帮您选出当时或历史上某一段时间内满足条件的所有股票,列在行情显示窗口,同时可保留成板块。
  实时预警根据投资者设定的条件监控整个股票市场的动向,帮助投资者发现可能忽略或者不能注意到的风吹草动!投资者可以自己定义涨跌幅度、量比、绝对价位、成交量异动、指标突破价位、封停和打开停板等一系列的预警条件,系统将在条件满足时提醒投资者有异动的股票及其异动的特征。
  这里放置各种用于选股及预警的公式。
  条件选股公式的编写方法与其它公式编写方式相同。选股条件公式的核心内容为一个条件判断语句SELECT语句,其运算结果为“0”或者“1”即“不满足条件”或者“满足条件”。当然一般的公式也能用于选股,依结果为“非1”或者“1”来判断,即只有运算结果为“1”时才能选出来。参见 “智能分析”。
  
  (六)、交易系统
  交易系统就是设定某种买卖条件,当满足条件的时候就在K线上画出买入、卖出的提示箭头,用于分析买卖策略的一种工具。从某种意义上说交易系统也是一种绘图曲线,也是通过编写公式完成的,这里列出了银河双子星提供的各种交易系统。
  编写交易系统的方法与编写一般曲线类似,是不过一般曲线是连续的输出,而交易系统是满足买卖条件的时候输出买入、卖出的曲线标志而已。输出曲线标志用“:>”。
  例如,MACD交易系统的公式内容如下:
  DIFF= EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
  DEA = EMA(DIFF,M);
  MACD1 = 2*(DIFF-DEA);
  IF (CROSS(diff,dea))
  a :> "buy";
  IF (CROSS(dea,diff))
  b :> "sell";
  (七)、五彩K线
  五彩K线是依照一定规则将普通K线标成多种不同的颜色,以突出某种K线形态的曲线公式。这里列有早晨之星、黄昏之星、十字星、长十字星、红绿灯等各种五彩K线。
  五彩K线的编写方法与一般K线类似。只是一般K线公式以开盘价、收盘价为颜色判断的依据,而五彩K线则采用各种不同的形态为颜色判断依据。下面列出普通K线公式与“三红兵”五彩K线公式:
  普通K线公式:
  IF(CLOSE>OPEN)
  RETURN "阳";
  ELSE IF(CLOSE< OPEN)
  RETURN "阴";
  ELSE IF(CLOSE==OPEN AND OPEN>=CLOSE[1])
  RETURN "阳";
  ELSE IF(CLOSE==OPEN AND OPEN<=CLOSE[1])
  RETURN "阴";
  “三红兵”五彩K线公式:
  IF(CLOSE[2] >OPEN[2] AND CLOSE[1] >OPEN[1] AND CLOSE>OPEN AND
  CLOSE[1] >CLOSE[2] AND CLOSE>CLOSE[1])
  {RETURN BACKSET("colorred",2);}
  ELSE RETURN "colorgreen";