大智慧公式编辑教程:第二章:公式编写方式

来源:百度文库 编辑:神马文学网 时间:2024/04/27 05:07:03


大智慧公式编辑教程

 

第二章:公式编写方式
  

在前面的学习当中,我们见到了一些基本的表达方法、方式,今天我们的任务是学习一些常见的概念如何编写,例如上面所列出来的放量、上涨等等,因为这些都是在公式编写过程当中要用到的基本的小的形态特征,许多的技术指标的选股条件都是由它们组成的。

 

一:放量,缩量,上涨,下跌,收阴,收阳:

 

放量:

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/012001/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天内的最小值

好了!入门课程讲完了,我们来回顾一下我们的课程,做一个最后的总结!

事实上,编写公式并不是一件很难的事情!他并不是为编写复杂的公式而在编写公式,恰如孔乙己会写四种回字又有何意义?重要的是您要深刻地理解某一点、某一处--没有人可以全部了解这个市场,可是也很少有人能够潜下心来去想清楚一个问题。

在编写公式的时候,大家一定体会到了,由于计算机的使用给我们带来了巨大的方便,可使计算机并不是完全智能化的,所以它只是一个工具,还有着许多的重要的工作需要人去完成,您千万不能放弃了自己而去迷信一个工具,可能它是您的帮手,但目前来说,无法替代您!您的投资还得由您去做.

 


 

1 量能决定趋势这种情况是弱势中的天赐良机。

第一步 慨念公式化

上述讲座中提到的名词有:

量能:成交量 函数:vol;

趋势:股价走势 [公式短语]趋势:=100*(close-ref(close,n))/ref(close,n);

强势:趋势向上 [公式短语]趋势>0;

量能大:区间换手率大 [公式短语]sum(hsl,n)>2*n;

量比:今日量与前五日均量之比 [公式短语]100*vol/ma(vol,5);

涨得多:涨幅高 [公式短语] 100*(close-ref(close,n))/ref(close,n)>=1.5*n;

"量能大+涨得多=继续大涨" :[公式短语] 继续大涨:=sum(hsl,n)>=3*n and 100*(close-ref(close,n))/ref(close,n)>=3*n;

"量能大+涨得少=注意反转":[公式短语] 注意反转:=sum(hsl,n)>=3*n and 100*(close-ref(close,n))/ref(close,n)<=n;

"量能小+涨得多=注意反转":[公式短语] 注意反转:=sum(hsl,n)<=0.5*n and 100*(close-ref(close,n))/ref(close,n)>=3*n;

"量能小+涨得少=继续小涨":[公式短语] 继续小涨:=sum(hsl,n)<=0.5*n and 100*(close-ref(close,n))/ref(close,n)<=n;

"量能大+跌得多=继续大跌":[公式短语] 继续大跌:=sum(hsl,n)>=3*n and 100*(close-ref(close,n))/ref(close,n)>=-3*n;

"量能大+跌得少=注意反转":[公式短语] 注意反转:=sum(hsl,n)>=3*n and -n<100*(close-ref(close,n))/ref(close,n)<0;

"量能小+跌得少=继续小跌":[公式短语] 继续小跌:=m(hsl,n)<=0.5*n and -n<100*(close-ref(close,n))/ref(close,n)<0;

"量能小+跌得多=注意反转":[公式短语] 注意反转:=sum(hsl,n)<=0.5*n and 100*(close-ref(close,n))/ref(close,n)<=-3*n;

2 公式图形化:

量能动力 公式

量能:SUM(HSL,N),NODRAW;

涨幅: 100*(CLOSE-REF(CLOSE,N))/REF(CLOSE,N),NODRAW;

STICKLINE(HSL<=1,HSL,0,1,1),COLORBROWN;

STICKLINE(HSL>1 AND HSL<3,HSL,0,1,0),COLORLIBLUE;

STICKLINE(HSL>=3,HSL,0,1,0),COLORMAGENTA;

继续大涨: DRAWTEXT(量能>3*N AND 涨幅>3*N,HSL,'继续大涨'),COLORRED;

继续小涨: DRAWTEXT(量能<0.5*N AND 涨幅

继续小跌: DRAWTEXT(量能<0.5*N AND 涨幅>-N AND 涨幅>0,HSL,'继续小跌'),COLORLIGREEN;

继续大跌: DRAWTEXT(量能>3*N AND 涨幅<-3*N,HSL,'继续大跌'),COLORCYAN;

注意反转: DRAWTEXT(((量能>3*N AND 涨幅3*N)

OR (量能>3*N AND 涨幅>-N AND 涨幅<0) OR (量能<0.5*N AND 涨幅<-3*N)),HSL,'注意反转'),COLORBLUE;

 

3 财务指标化:

【市净率】:CLOSE/FINANCE(35),NODRAW;

【市盈率】:CLOSE/(FINANCE(30)/FINANCE(1)/10000),NODRAW;

【换手率】:HSX,VOLSTICK;

【净收益率】:FINANCE(30)/FINANCE(1)/100/FINANCE(34),NODRAW;

【流通盘】:FINANCE(7),NODRAW,NODRAW;

【净资产】:FINANCE(34),NODRAW;

【每股收益】:FINANCE(30)/FINANCE(1)/10000,NODRAW;

4 均线函数说明:

简单移动平均:MA(X,N)=(X1+X2+X3+...+Xn)/N

异同移动平均:EMA(X,N),EXPMA(X,N):EMA=(2*X+(N-1)*EMA[i-1])/(N+1)

平滑移动平均:MEMA(X,N):EMA[N-1]=MA(X,N),MEMA=(X+(N-1)*MEMA[i-1])/N;

加权平滑平均:EXPMEMA(X,N):EXPMEMA[N-1]=MA(X,N),EXPMEMA=(2*X+(N-1)*EXPMEMA[i-1])/(N+1)

累积平均:SMA(X,N,P):SMA=(P*X+(N-P)*SMA[i-1])/N

    目前大多数证券分析软件都具有指标分析和条件选股的功能,但只有用户可以自己编制算法公式的系统才是真正实用的,因为:

    许多软件的指标和选股功能是黑箱操作,也就是说,其内部算法是不公开的。这样用户并不知道其指标和选股到底是如何运作的、可靠性有多高、前提条件是什么,因而也难以决定是否采用指标或选股的结果。这样的指标和选股只有宣传上的意义而没有任何实际意义。

  许多软件的选股功能都不够强大和灵活。例如有些软件的条件选股功能只能让用户按照特定的模式进行设定,适用面很窄。

  公式系统类似于一种编程语言,用户可以数学公式的形式实现任何自己期望的技术指标和选股条件等。可编制的公式可以完全公开算法,用户可以自行分析、评价和修改,做到心中有数。

    公式系统的作用是什么呢?公式系统其实就是对一系列随时间变化的原始数据组序列进行代数和逻辑计算。为什么是数据组序列呢?因为每一个时间周期(即相邻两组数据间的时间间隔)都包含了一组原始数据,如开高低收量额,公式系统能对其中的任何原始数据进行操作。使用者定义出如何对原始数据进行处理得到一个新的数据,公式系统读出原始数据并按要求计算出使用者定制的数据,并以曲线、图形、指示等形式显示出来。

 

5 公式系统类型:

公式系统可以编辑四种类型的公式,分别是技术指标、交易系统、条件选股和五彩K线公式。技术指标公式是最基本的公式,它用于指标图形的绘制。技术指标公式结合选股条件逻辑判断表达式,即得到条件选股公式,用于条件选股。技术指标公式结合买卖逻辑判断表达式,得到交易系统公式,用于交易系统指示。技术指标公式结合色彩逻辑判断表达式,即得到K线模式公式,用于描述特定的K线模式。公式的编辑在公式编辑器中完成。

6 公式系统分析周期:

公式系统处理的原始数据的分析周期(即相邻两组数据间的时间间隔)可以从1分钟到1000天间的任意值,也可以是分笔成交数据,我们用鼠标把一个公式拖到某只证券的某个周期的图形分析窗口,则该公式处理这个周期的原始数据,如开高低收量额,改变分析窗口显示的分析周期,则公式处理新的分析周期的数据。

 

7 公式系统函数类界定:

公式系统对数据的运算是基于一系列函数,函数中除ZIG之字转向函数类和BACKSET函数外,其余函数均满足时间不变性,即时间靠后的数据不对时间靠前的结果产生影响。

8 公式设定步骤:

    1.设定公式名称:每个公式都有自己的名称,它由字母或数字组成,最多可以有9个字符。请注意,公式名称在同类公式中不能重复。

  2.描述公式:用于简单描述该公式的含义,若输入,则在公式列表中会显示这段文帧?br>

  3.注释公式:用于描述一个公式如何使用、计算方法等内容。输入后,在有关窗口按"用法注释"按钮可以查看公式注释。

9 设计技术指标公式语句:

公式的形式由若干语句组成。每个语句得到一个计算结果,对于技术指标,就是一条指标线,语句间用分号隔开。

   一个语句由若干函数通过四则运算或逻辑运算而组成。函数是公式系统的基本成分,它是对数据做某种操作,如CLOSE()函数表示调用该分析周期的收盘价。函数由函数名称和参数组成,参数用函数名后的括号括起来,每个函数调用的参数可以是变量或常量,变量是一个随着时间变化而变化的数据,例如收盘价;常量是一个不随时间变化而变的数据。例如函数REF(X,N)用于引用N周期前的X值,X是一个变量,N是一个常量,REF(close(),1)表示计算上一周期的收盘价。函数若需调用几个参数,则它们在括号内是有顺序的。若没有参数则可以省去括号,例如CLOSE()函数没有参数,所以写成 CLOSE和 CLOSE()都可以。函数计算得到的结果是一个变量。

   计算符将函数连接成为语句。计算符分为算术计算符和逻辑计算符。算术计算符有+、-、*、/,分别是对计算符两边的数值进行加减乘除计算;逻辑计算符有>、<、<>、>=、<=、=、AND、OR,分别是对计算符两边的数值做大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或的逻辑运算,如果逻辑条件成立返回的计算结果为1,否则为0。例如:2>1的逻辑运算结果等于1,1>2的逻辑运算结果就等于0。

   语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号将它与语句隔开。语句"上日收盘价:REF(close,1)"就表示该语句REF(close,1)的名称为"上日收盘价"。该语句后而的语句若需引用它,则写公式名即可,如MA(上日收盘价,20)意思是对上日收盘价求20日平均。

10 设计中间语句:

 

一个语句将显示一条指标线,一个复杂的公式往往有很多语句,而且有些语句没必要显示出来。这时我们可以把不需要显示语句定义为中间语句,中间语句的写法只需在一般语句的名称与语句之间的冒号后加个等号,即":="即可。例如,语句"上日收盘价:=REF(close,1)"就表示该语句为中间语句。重复使用的语句也可以定义成中间语句。

11 设计其他公式语句:

其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示,五彩K线公式显示的是K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,当返回非0时表示需要进行相应的操作。其他的语句都应设定为中间语句。

   条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSE>REF(close,1)语句,表示选出当期收盘价高于上日收盘价的股票。其他的语句必须设定为中间语句,否则编辑器出现"只能有一个输出结果"的警示。

   交易系统公式需要1-4条逻辑表达式语句,分别为多头和空头的切入切出条件语句,分别用ENTERLONG, EXITLONG, ENTERSHORT, EXITSHORT表示多头买入、多头卖出、空头切入、空头切出条件,当这些语句返回非0时,表示需要进行相应的操作。其他的语句必须设定为中间语句,否则编辑器出现"非交易信号变量只能用:=赋值"的警示。这四个条件中必须至少设定一个条件。

    五彩K线公式可以有1-6条逻辑表达式语句,最多描述6种不同的颜色。

12 设计计算参数:

我们有时需要调节公式中的常数来看公式的表现,可以直接进入公式修改,更方便的方法是用计算参数来指代公式中的常数,需要调节公式时不需进公式只需调节参数就可以了。比如,经常要修改REF(close,1)中的第二个参数1,这时可以把它设为一个计算参数N,公式写成REF(close,N),到时调节N即可。计算参数包括参数名称、最小值、最大值、缺省值四个部分。参数名称用于标识参数,本例我们将参数名定位N,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。设定参数后,在图形分析窗口显示该指标时,指标名跟着有参数,右键点击参数即可对它进行修改。对于交易系统公式,每个参数还包括一个测试步长,在优化参数时系统从最小值到最大值逐一调整参数,每次调整的增量就是测试步长。例如最小值1,最大值30,步长10,则系统将测试参数1,11,21。最大测试步数为10000次。每个公式可以带有最多16个计算参数。

 

13 其他语句:

有时我们想指定技术指标线的画法,这时我们可以在语句后加上线形描述符,描述该语句对应的指标线画法。线形描述符包括STICK:柱状线;COLORSTICK:彩色柱状线,当语句结果为正时显示红色,否则显示绿色;VOLSTICK:成交量柱状线,股价上涨时显示红色空心柱,下跌时显示绿色实心柱;LINESTICK:同时画出柱状线和指标线;CROSSDOT:小叉线;CIRCLEDOT:小圆圈线;POINTDOT:小圆点线。

公式编写实例:

14 五彩K线公式显示K线颜色描述:

五彩K线公式有用来描述显示K线颜色的语句,其实就是在语句后加上色彩描述符,之间用逗号隔开,表示当该句返回非0时K线的颜色。色彩描述符有:COLORRED:红色;COLORGREEN:绿色;COLORBLUE:蓝色;COLORBLACK:黑色:COLORWHITE:白色;COLORYELLOW:黄色:COLORYELLOW:青色;COLORF0F000:晶红色;COLORBROWN:棕色。

技术指标公式还可以主动设定欲显示的坐标线,例如我们在坐标线位置输入框中写入-10;O;10,则显示该指标时出现-10,0,10三条坐标线。

 

15 特殊数据引用:

(1)、指标数据引用

   在编制公式过程中,有时需要使用另外一个指标的值,如果按照通常的做法,重新编制这个指标就显得很麻烦,因此很有必要学习使用如何调用别的指标公式。

   调用其他指标的基本格式:"指标.指标线"(参数)

A、指标与指标线之间用点"."分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。

B、参数在表达式的末尾,必须用括号括起来,参数之间用","号分开,通过参数设置可选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置(不过我在使用过程中发现,如不写参数,测试就通不过)。

C、整个表达式用引号引在其中,除参数以外。

例如:"MACD.DEF"(26,12,9)表示计算MACD指标的DEA指标线,计算参数为26、12、9,"MACD"(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,"MACD"表示该指标的最后一条指标线,并且使用公式的默认参数。

(2)、其他股票数据引用

   使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比。

A、引用大盘数据

引用大盘数据时使用下列函数:INDEXC、INDEXV等等。

B、引用个股数据

引用个股数据时使用下列格式:"股票代码$数据",在以上格式当中调用CLOSE、VOL、AMOUNT等等,例如,"Z000002$VOL"表示000002该股本周期的成交量。同时大盘也可视为一只个股来引用,例如,上证"H000001$CLOSE"表示为大盘本周期的收盘价,深市"Z399001$CLOSE"同样表法大盘本周期的收盘价。

(3)、注意事项

   在编公式中所运用的标点符号均是在英语状态下的符号。

   在编制公式中,有要显示的句子和不显示的句子,要显示用":"不要显示用":=",

一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号";"。

     另外,开盘价、收盘价、最高价、最低价,在公式中可用该函数的第一个字母代替。因此在编公式时不要单独用这几个字母,请要注意。

 

 

16 引用其他公式、周期或股票的数据:

 (注意:本点只作为参考,因大智慧未设有引用其它周期的数据功能)

   可以在一个公式中引用其他公式、周期或股票的数据,具体做法如下。

1)引用指标公式/交易系统/条件选股公式

  可以引用其他技术指标的指标线,写法是"公式名称.指标线名称"(参数表),请注意,参数表中的参数个数应该与该公式的实际参数数量一致,若不写参数表,则表示使用缺省参数。例如:"KDJ.K(9,6,6)",表示引用根据(9,6,6)参数计算出KDJ指标中的K指标线数值。

   可以引用交易系统公式,写法为"SYSTEM.公式名称.交易类型"(参数表),交易类型包括ENTERLONG、EXITLONG、ENTERSHORT、EXITSHORT,分别表示引用多头买入、多头卖出、空头买入、空头卖出条件。例如:"SYSTEM.KDJ.ENTERLONG",表示引用根据缺省参数计算的KDJ交易系统的多头买入条件。

   可以引用条件选股公式,写法为"EXPLORER.公式名称"(参数表),例如:"EXPLORER.KDJ",表示引用根据缺省参数计算的KDJ买入条件选股条件。

2)跨周期引用公式(大智慧不支持)

  可以引用其他周期的数据,写法为"公式名称.指标线名称#周期"(参数表),跨周期引用只能从较短周期引用较长周期,反方向的引用不允许。例如"KDJ.K#WEEK"(9,6,6),表示引用根据(9,6,6)参数计算周线周期的KDJ指标公式K指标线的数值。

  其中周期包括MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH,分别表示1、5、15、30、60分钟线,以及日线、周线、月线。

3)引用任意股票的数据

  可以引用其它股票的数据,写法为:"股票代码$数据名称",其中数据名称包括OPEN、HIGH、LOW、CLOSE、VOL、AMOUNT,分别表示开盘价、最高价、最低价、收盘价、成交量、成交额。