: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

大智慧公式教程 初学者如何编写公式

大智慧公式教程 初学者如何编写公式

股市箴言:

进入股市的人,每个人都赚过钱,每个人都会有亏钱的经历;

如果你还没有亏过钱,那么你要小心,不要希望奇迹会在你身上发生。

选股进阶之路:

我们大多数的用户并不是完全了解“公式编辑器”的意义,简单地,我们可以从以下几个角度进行理解:

一、指标分析:

“公式编辑器”好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标KD、指标MA等等,通过对这些指标的观察、分析,找出一些合适的条件作为买入卖出点。当然,我们也许需要的是一些自己的指标,一些自己的准确的指标,更多的MB、MC、MD等等,这一切我们通过“公式编辑器”可以实现。

二、条件选股:

编写公式都要用到什么东西?

我们留下了许多问题--都是公式编写的基础问题,所以我们这节课来解决这些基础的问题。

什么是技术指标?

MA均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。

什么是条件选股?

简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选--比如您有一些好的心得和方法,可使有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、中间表达式可以帮助我们清晰的表达我们的公式,不至于使公式的结构特别的混乱!

如果大家都是均线的忠实爱好者的话,

那么大家一定牢牢记得在均线大师哥南威尔的8大法则当中的第四条和第五条中曾经提到了当股价偏离均线太远的时候,便会向它靠拢,

但是并不提到多远才会靠拢--为了解决这个问题,也为了我们更好地用客观数据来体现股价运动的过程,乖离率这个指标应运而生。

本课我们的任务就是通过对乖离率的原理到编写方法的学习来加强我们对公式设计的理解。

九:如何编写BIAS指标?

首先,什么是乖离率?

以当日的均线价格为准,股价和均价之间的差距称为乖离程度,以乖离程度除以均价的百分比就是乖离率。

当日股价与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;

进阶之路:公式编制

这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。

收盘价线

这是最简单的公式:

CLOSE

均线的画法

计算N日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(X,N)表示X的N日平均。

例如:

MA1:        MA (CLOSE,5)      ,     coloryellow ;

表示为:      参数名     画一条5日收盘价的均线       设置该线为黄色

涨幅

涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价*100%,  昨日收盘价的公式为:REF(CLOSE,1),因此涨幅的公式:

(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)

换手率

换手率指当期的成交量占流通股本的比例。

公式:

VOL/CAPITAL

VOL为当期成交量,CAPITAL为流通股本。

创新高

创新高指当日最高价是最近一段时间的最高价:

HIGH=HHV(HIGH,N)

其中的HIGH为当期最高价,HHV(X,N)是求N周期内X最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。

横盘整理

横盘整理指最近一段时期价格在一定幅度之内摆动:

(HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05

其中的LLV(X,N)是求N周期内X最低值。因此该公式表示10日收盘价振幅振幅在5%以内。

区间统计

例如,要取得2002年2月1日到2002年12月30日间的最低价。思考一下,一段时间的最低价必然是该段时间内每个分析周期的最低价中最小的那个。所以我们要引用的数据是该段时间各分析周期的最低价,而不需要用到开盘价、收盘价或最高价;还要将不需要的数据,即区间外的数据设为0。语句为:

LL:=IF(YEAR=2002 AND MONTH>=2 AND MONTH<=12,LOW,0)

该语句用一个条件函数来判断时间是否处于规定区间,若是则返回最低价,否则返回0。

我们再用LLV函数,就可求得该段时间最低的最低价:

LLV(LL,0)

技术指标公式

技术指标公式用于绘制技术指标线。以KDJ指标为例,右键点击KDJ,选择“编辑公式”后打开公式算法编辑器,显示出KDJ指标公式的内容。

参数名称:最小值,最大值,缺省值

N:             1        10O           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

该公式绘制K、D、J两条指标线。RSV行是一个中间语句,计算当期收盘价与N天内最低价之差除以N内最高价与最低价之差的比值,再乘以系数100。K线为RSV

的M1天移动平均线,D线为线K的M2天移动平均线,J线为K线与J线的差值。

(以下是引用'wjwjc’版主对计算'5日均线上升角度’的实例讲解

aa:=ma(c,5);{这是5日均线}

bb:=ref(ma(c,5),1);{这是昨日5日均线}

cc:(aa-bb)/bb>n/100;{这是5日均线增长比率,比率越大,其上长的斜率就越大}

n是参数,n%是5日均线的增长比率,因此n定5以上可能其的斜率就越大,你可试试。)

(对于时间限制的问题,我们就以'庄家进出’公式来作分析了解。

Var1:=IF(YEAR>=2034 AND MONTH>=1,0,1);

{VAR1赋值:如果年份>=2034 AND 月份>=1,返回0,否则返回1}

{点评:这个语句在配合其它语句使用的情况下可起到时间限制作用}

VarC:=MA(SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE

{VARC赋值:如果收盘价>昨收,返回成交量(手),否则返回(如果收盘价<昨收,返回0-成交量(手),否则返回0)的历史累和/25000的2日简单移动平均*VAR1}

{点评:在这句用到了VAR1,当VAR1符合条件即:年份>=2034 和 月份>=1时,则VAR1=0,这样以后计算出来的结果全是0,这时该指标便毫无意义了,起到了时间

限制的作用。}

分界线: EMA(VarC,26)*Var1, LINETHICK2, COLORf0f000;

{输出分界线: VARC的26日异同移动平均*VAR1, LINETHICK2, COLORF0F000}

庄家线1: EMA(VarC,1)*Var1, COLORRED;

{输出庄家线1: VARC的1日异同移动平均*VAR1, 画红色}

庄家线2: EMA(VarC,6)*Var1, COLORYELLOW;

{输出庄家线2: VARC的6日异同移动平均*VAR1, 画黄色}

庄家线3: EMA(VarC,12)*Var1, COLOR00ff00 ;

{输出庄家线3: VARC的12日异同移动平均*VAR1, COLOR00FF00 })

选股进阶之路:颜色代码

如:colorred{红}

colormagenta(COLORf00ff0){品红}     coloryellow{黄}     colorgray{灰}   colorffff00{兰} colorblue{青}    colorwhite{白}    colorgreen{绿}   colorbrown{棕}

linethick{0--7指标线粗细}   linethick{同时显示柱状线和指标线}

circledot{空心园点}    pointdot{小点}    pointdot,linethick2{实心方点}

crossdot{X点状线}    cmcledot{0点状线}    stick{显示}   colorstick{显示}  linestick{显示}

希望各位指标爱好者自己动手进行配色修改,这样才会记得牢,学得透,不断探索,不断前进。一花开放不是春,万紫千红春满园。

走势形态特征指标:为了满足大家选股的需要,这里主要介绍股票走势特征、形态特征指标的编制。

走势形态特征指标编制的基础。

(1)、放量、缩量(成交量函数为VOL)

A、放量

a.今天成交量较昨天增加了1倍,表示如下:

VOL/REF(VOL,1)>2

b.今天成交量较10个交易日平均成交量放大了1倍,表示如下:

a:=ma(vol,10);

Vol/a>2

或者直接用如下公式表示:

vol/ma(vol,10)>2;

c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:

a:=ma(vol,10);

b:=ma(vol,5);

b/a>2;

d.今日的成交量超过了整个流通盘的5%,表示如下:

vol/capital>0.05;其中capital代表流通盘。

B、缩量

a.今日成交量较昨日减少了一半,表示如下:

vol/ref(vol,1)<0.5;

b.今日成交量较10个交易日平均成交量减少一倍,表示如下:

a:=ma(vol,10);

vol/a<2;

或者直接用如下公式表示:

vol/ma(vol,10)<2;

c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下:

a:=ma(vol,10);

b:=ref(a,5);

a/b<2;

d.今日的成交量低于了整个流通盘的5%,表示如下:

vol/capital<0.05;

选股进阶之路:线性函数

函数集的使用可以提供给用户更实在的个性化分析方法,摆脱以往只能听专家分析的单一模式,本篇讲解怎样巧用线性函数。

一、线形函数

线形函数要和其它指标函数一起用才能发挥效力,因为它们都是描述其它指标函数的。正确用好线形函数可以使主副图指标显示丰富多彩,色彩缤纷。

1、函数:STICK 说明:画棒状线,STICK的英文是棍、棒的意思。

如副图公式:C>REF(C,1) AND C>REF(C,2),STICK;

2、函数:COLORSTICK 说明:以零轴为中心画彩色棒状线,零轴下为阴线颜色,零轴上为阳线颜色,这样零轴就如楚汉交界,泾渭分明了。

如副图公式:C-REF(C,1),COLORSTICK;

3、函数:LINESTICK 说明:同时画棒状线与指标线。LINE是线,STICK是棒,LINESTICK自然是线棒一起显示了。如副图公式:

A:=C-REF(C,1);

A,LINESTICK;

即想显示指标线和棒状线,又想以零轴为中心上下显示两种彩色棒状线,可以用分开的两句语句来达到目的,如副图公式:

A:=C-REF(C,1);

A,LINESTICK;

A,COLORSTICK;

4、函数:VOLSTICK 说明:画成交量柱状线。这是专门为显示成交量设计的。如副图公式:

VOL,VOLSTICK;

5、函数:CROSSDOT 说明:画叉状线或x状线。CROSS是交叉,DOT是点。如副图公式:

ma1:ma(c,30),CROSSDOT;

6、函数:CIRCLEDOT 说明:画小圆圈线,如副图公式:

ma1:ma(c,30),CIRCLEDOT;

7、函数:LINETHICK 说明:改变指标线粗细。取1、2、3、4、5、6、7放在LINETHICK后面如:LINETHICK2,数字越大,线越粗,最大可取7。如副图公式:

例1:ma1:ma(close,30),COLORFF00FF,linethick2;

例2:A:=C-REF(C,1);

A,COLORSTICK,LINETHICK4;

8、函数:POINTDOT 说明:画点状线,POINT是点、加点的意思。这个点状线看起来有点太小了,可以用加粗线函数。如副图公式:

ma1:ma(c,30),COLOR00FF00,POINTDOT,LINETHICK2;

我们编个指标,看看都用了哪些线形函数。

{顶底指标}

股价趋势:3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))

*100,5,1),3,1),COLORFF00FF,LINETHICK2;

底部警戒:10,COLORFFCCCC,POINTDOT;

买入警戒:IF(股价趋势<=10,40,0),stick,linethick3,coloryellow;

买入信号:IF(CROSS(股价趋势,底部警戒),80,0),stick,linethick3,colorblue;

强弱分界:50,COLORWHITE,POINTDOT,LINETHICK2;

顶部警戒:90,COLORFFCC66,POINTDOT;

卖出警戒:IF(股价趋势>=85,40,0),stick,linethick3,colorred;

卖出信号:IF(CROSS(股价趋势,顶部警戒),80,0),stick,linethick3,color00ff00;

指标解析:

{顶底指标}

股价趋势:3*移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1)-2*移动平均(移动平均((收盘价-最低值(最低

价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2;

底部警戒:10,COLORFFCCCC,点状线;

买入警戒:条件函数(股价趋势<=10,40,0),棒状线,linethick3,coloryellow;{黄粗棒状}

买入信号:条件函数(交叉函数(股价趋势,底部警戒),80,0),棒状线,linethick3,colorblue;{蓝粗棒状}

强弱分界:50,COLORWHITE,点状线,LINETHICK2;{粗点状线}

顶部警戒:90,COLORFFCC66,点状线;

卖出警戒:条件函数(股价趋势>=85,40,0),棒状线,linethick3,colorred;{红粗棒状}

卖出信号:条件函数(交叉函数(股价趋势,顶部警戒),80,0),棒状线,linethick3,color00ff00;{绿粗棒状}

了解了以上线形函数,学着把自己手中的指标美化一下吧,以上每个例子你都可以在大智慧里试试,亲身体会一下。祝大家成功。

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表