1公式编写入门(转)1

来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:22:49
公式编写入门(转)1(2009-09-16 01:17:52) 标签:股票 杂谈  分类:指标公式

       总目录

第一讲:认识公式编辑器

第二讲:公式编写的基础函数

第三讲:认识颜色符号或绘图函数 

第四讲:源码的引入和修改

第五讲:各种形态的描述

第六讲:均线(选股)的基本形态

第七讲:在源码中提取选股公式

第八讲:函数的综合运用

第九讲:常用函数示例

第十讲:系统常用指标原理解析

 

第一讲:认识公式编辑器

  公式编辑器是导入源码和进行编写指标的窗口。公式编辑器共分4种,分别是:

  1、技术指标公式编辑器;

  2、条件选股公式编辑器;

  3、交易系统公式编辑器;

  4、五彩K线公式编辑器。

  由于这几种编辑器的展开和使用大同小异。所以,本文仅以技术指标公式编辑器为例加以说明。

  由于目前各种股软的区别,不仅有些函数不通用,编辑器的打开方式也略有区别。本讲就是告诉大家如何展开公式编辑器。

 

 

第二讲:公式编写的基础函数

  打开技术指标公式,我们最常见的,它的组成不外乎两种情况,一是K线,二是均线。其他诸如柱状线,彩带,分段线等等,都是在K线或均线基础上的延伸或变形。为此,我们先熟悉一下构成这两种状态的基本函数。

  一、K线函数

  非常简单,大家都可能熟知。作为基础,还是说明一下。

  1、开盘价:OPEN 可简写为 O

  2、最高价:HIGH 可简写为  H

  3、最低价:LOW  可简写为  L

  4、收盘价:CLOSE 可简写为  C

  有了这4个函数,就可构成一根K线了。比如:收盘价小于开盘价,即阴线:C 收阳线则互为相反。

  那么长下影的光头阳线,即 T 形线呢?理解了原理,也很简单。一要以最高价收盘(否则有上影),二要开盘价大于最低价。所以有如下表示:C=H AND O>L;这里我们没有考虑下影的长度和 T 字上边一横(实体部分)的宽度。

  习题:一根光头阳线,实体部分小于5分钱,下影超过实体的两倍,如何表述 

  特别提示:编辑指标必须在英文状态下输入。其中运用的数学符号,包括加减乘除、分号,引号等(+ - * / ; "" ''''><#)也必须在英文状态下输入。

    二、均线函数

  单根K线的形态是相当枯燥的。尤其在主图里。配合以均线等形式就会丰富多采,或者更利于我们从中发现规律和分析问题。这就需要均线函数来解决了。

最常见的:

  1MA(X,N),XN周期简单移动平均值。

  算法:(X1+X2+X3+...+Xn)/N

  例如:MA(CLOSE,20),表示求20日均价。

  2EMA(X,N),XN周期指数平滑移动平均。

  算法:Y=EMA(X,N)Y=[2*X+(N-1)*Y'']/(N+1), 其中Y''表示上一周期Y值。

  例如:EMA(CLOSE,20),表示求20日指数平滑均价。

  3SMA(X,N,M),XN周期移动平均,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线和均线了,但实际应用中要复杂得多,还要一些函数把他们连接起来。

大致有这么几个:

  1AND 就是“和”的意思。如:A AND B;就是AB两个条件要同时成立。

  2OR “或”,“或者”的意思。如:A OR B;就是AB两个条件有其中一个成立就行。

  3IF 根据条件取不同的值。如:IF(X,A,B),若X不为0则返回A,否则返回B。实例:IF(C,表示收阴返回最低价,否则返回最高价。

  4CROSS 交叉函数。CROSS(A,B),表示A从下方向上穿过B

  5REF 向前引用。引用若干周期前的数据。例如:REF(CLOSE,1),表示昨收的收盘价。那么前天的最高价呢,就是:REF(H,2)

  四、成交量 

  VOL 表示每天的成交量。因以后会经常用到,所以先交待给大家。

  上面这几个函数是最常用的,希望大家记住,不知怎么写也要知道其表述的意思。当然,记不住也不要紧,《公式编辑器》中全有。

  习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。

听雪寻股

习题:一根光头阳线,实体部分小于5分钱,下影超过实体的两倍,如何表述?

c=h and c-o<0.05 and  o-l>(c-o)*2;

STICKLINE(c=h and c-o<0.05 and  o-l>(c-o)*2,o,c,8,1),COLORRED;

STICKLINE(c=h and c-o<0.05 and  o-l>(c-o)*2,o,l,1,0),COLORRED;

习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。

aa10:=ma(c,10);

aa20:=ma(c,20);

zf:=if((c-ref(c,1))/ref(c,1)*100>3,1,0);

av:=v>=ref(v,1)*2;

CROSS(aa10,aa20) and zf and  av

以上作业请老师批阅

老师批改如下

此句 zf:=if((c-ref(c,1))/ref(c,1)*100>3,1,0); 如下表述更简练些:zf:=c/ref(c,1)>0.03;

关于两个习题,听雪寻股都回答的非常好,完全正确。已加分鼓励。

其实,有时编写公式就这么简单。以上就可看做是两个选股公式。

此句 zf:=if((c-ref(c,1))/ref(c,1)*100>3,1,0); 如下表述更简练些:zf:=c/ref(c,1)>0.03;

单独提出此句,是告诉大家。编写公式和数学解题一样,有很多时候可能有多种方法,殊途同归。这也是有时对于同一求助问题,不同的人有不同的回复一样。

这个习题,运用了第二讲中的内容:1,涨幅,就是收盘价与昨天的收盘价之比。2,昨天的表示符号(向前引用函数)和其他运算符号。

网通用户

习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。

答:CROSS(MA(CLOSE,10),MA(CLOSE,20)) AND C/REF(CLOSE,1)>3/100 AND VOL/REF(VOL,1)=2

方方面面2008

习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。

答:CROSS(MA(CLOSE,10),MA(CLOSE,20)) AND C0.03*REF(CLOSE,1) AND VOL=2*VOLREF(VOL,1)

 

基本正确。用一句话概括,精简。

需要指出的是最后一句:“成交量比昨天放大一倍”,这句话的表述。老兄用的是:VOL/REF(VOL,1)=2 ,应该是非常准确。但在实际应用中,却是行不通的。正好等于2倍是极难遇到的,所以编写公式变通的办法,或者说应该用的是:VOL/REF(VOL,1)>=2 ,更符合实际。

增加一个大于号,成为问题的关键所在。

提出这个问题,并非小题大作,应该看做以后编写时的注意事项。