分享

[转载]公式编写

 袖手揽月 2014-06-10
公式编写---初学者入门指南

公式入门
    我们大多数的用户并不是完全了解“公式管理”的意义,简单地,我们可以从以下几个角度进行理解:
一、指标分析:
     “公式管理”好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标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和条件
编写一条最简单的指标线
    通过前几课的学习,我们今天开始使用软件的公式管理功能编写我们自己的第一条指标线。
    其实不难,你应该对自己有信心!
    按照主菜单-7系统功能-公式管理-选择-“技术指标”-点击“新建”,然后在公式编辑器中留下你的第一行脚印吧!

点击:“确认”,现在看一下我们第一条指标线。
这条指标线与你的想法相符吗?

总结与补充:
1、如果选择:“主图叠加”,我们的指标线会与k线图显示在同一个图形框中。
2、参数可以有,也可以没有,但是鼓励大家设置参数,这是非常好的习惯;
3、一个句子完了,别忘了以分号结尾;

你的公式写得对不对,可以通过“测试”来检查,如果错了,它会告诉你错在哪里。
    编写最常用的均量和均价线
    均价线,不就是那个“移动平均线ma”什么的吗?不过,话说回来,听说10个人里面有11个人都在使用,我可得学习学习!
    原理是?
5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)
10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)
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移动平均线,关于这几条指标线如何使用?我想大家可能都比我清楚。例如短期均线和长期均线发生了金*或者死*,......等等,葛兰维尔的八项法则......如果说如何用分析家软件编写一个条件,让电脑把今天两个市场的股票中所有发生了黄金交*的股票选出来呢?

    想知道吗?这就是“条件选股”,按照“条件”电脑自动“选择股票”出来,可以供您分析,要不然的话,技术分析的投资者都会累死了!

跟我学!:
第一步:“7系统功能”栏中选中“公式管理”
第二步:我们现在选择“新建”一个“条件选股”公式,结果出现了下面的编辑栏!然后在里面写上您的条件!
第三步:按照说明书上的步骤选股就行了!

注意:
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买入条件完整的表达出来了:d
“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),怎么看都不舒服,您有什么办法?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多