通达信指标公式编写教程6:变色均线的公式编写(图解)

拾荒网 10 0

通过前面的五讲,大家对编写指标公式和选股条件公式有所感觉了吗?课后作业做了吗?

昨天我们学习了满足两个甚至三个条件金叉的条件选股公式的编写,并留了思考题。

如果三金叉不出现在同一天,要选出“5天内出现三金叉”的股票,该如何编写公式呢?

复习一下,同一天内出现三个金叉的选股条件是怎么样的?

将昨天最后写的“同一日3金叉2” 加以改写,名称“5日内3金叉”,将A、B、D全部改成EXIST(A,5)、EXIST(B,5)、EXIST(D,5):

源码:

…… …… …… …… …… …… ……

DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA:=EMA(DIF,MID);

A:=CROSS(MA(C,5),MA(C,10));

B:=CROSS(MA(V,5),MA(V,10));

D:=CROSS(DIF,DEA);

EXIST(D,5) AND EXIST(A,5) AND EXIST(B,5);

…… …… …… …… …… …… ……

共选出900只股票,下面拿一张来看看:

还记得上一讲中”同一天3个金叉”中,同一天选出了几个股票 ? 对,9个。所以满足“同一日3金叉”的股票真的很少,如果在指数低位时,这种票倒是可以低位中长线布局的。

在开讲今天的内容之前,先申明一下,本人是头条小白,承蒙朋友们的厚爱,使我能在头条占一个小小的角落,和朋友们分享我的投资理念、方法和通达信公式的编写方法,谢谢大家!

但在和朋友交流的过程中,也出现一些问题。有朋友要求帮他编写公式,而且还不限于通达信的。

在此,我再次申明,请要求编公式的朋友绕道离开吧,本人真的很忙,不能因为帮了你一人而耽误了更新文章的速度,让期待新篇的朋友多等。

还有朋友提的问题很奇葩,要求“编一个尾盘买入次日早盘冲高的选股公式”,对这一要求我真的很无语。

在头条里以“尾盘买入次日早盘冲高”的文章、视频有不少,你可以去那里看,但我从来不看的。因为那根本不靠谱。

我们来算笔账,如果尾盘买入,次日冲高出来,哪怕一次赚一个点,那一年以250个交易日来计算,1.01的250次方,结果是多少? 12.03倍。

放一万块钱,一年下来是12万多,放十万,一年下来就是120多万。人家有那么好的方法,会告诉你吗?

所以,如果有时间的话,还是踏踏实实地学习吧,一是可以学一点指标公式的编写方法,最起码看到别人的公式时,能看懂,能明白其思路,对于明显有未来函数的骗子公式也能识别;

二是可以去学学“新生300天“,跟着画画图,深刻理解股票到底是什么。

不好意思,扯得有点远,还是言归正传吧。

一、均线变色的指标

有时我们看人家贴图出来,发现图上的均线是变颜色的,上升时是一种颜色,下降时是另一种颜色,这是怎么做到的呢?

今天我们就来解决这个问题。

朋友们还记得我们曾经学习编写的“我的均线系统2“吗?

打开“我的均线系统2”,取6条均线,把参数写在MA的后面。

这个指标的源码如下:

…… …… …… …… …… ……

MA5:MA(C,5); {5日移动平均线}

MA10:MA(C,10); {10日移动平均线}

MA20:MA(C,20); {20日移动平均线}

MA60:MA(C,60); {60日移动平均线}

MA120:MA(C,120); {120日移动平均线}

MA250:MA(C,250); {250日移动平均线}

…… …… …… …… …… ……

在股市中,60日均线是非常重要的,有牛熊分割线之称。我们来想办法让这条线上升时出现红色,下降时出现绿色。红色持股,绿色持币。

下来我们要用到一个函数:IF ,IF 的名称是“条件判断函数”,在“选择函数”里。

系统自带的解释是:

根据条件求不同的值.

用法:

IF(X,A,B)若X不为0则返回A,否则返回B

例如:

IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值

我们先把60日均线处理一下,将60日用绿色2号粗线显示,一会儿在源码写上。

编写思路:如果60日均线是向上的,用红色2号粗线显示;如果60日均线不向上,则不显示红色。

60日均线向上:MA60>REF(MA60,1)

表示:{今天的60日平均价大于昨日的60日平均价}

IF(MA60>REF(MA60,1) ,MA60,DRAWNULL);

这句话的意思是,如果今日的60日平均价大于昨天的60日平均价,则返回MA60;如果今日的60日平均价不大于昨天的60日平均价,收返回DRAWNULL。

这里的“DRAWNULL”是无效数,在“引用函数”里。系统解释是:

返回无效数.

用法:

DRAWNULL

例如:

IF(CLOSE>REF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时不画线

这句话的意思是:如果收阳线,则显示收盘价,否则返回无效数DRAWNULL,串起来,这句话就是说:下跌不显示。

改写后的“我的均线系统2”源码如下:

…… …… …… …… …… ……

MA5:MA(C,5); {5日移动平均线}

MA10:MA(C,10); {10日移动平均线}

MA20:MA(C,20); {20日移动平均线}

MA60:MA(C,60),COLORGREEN,LINETHICK2; {60日移动平均线,用绿色2号粗线显示}

MA120:MA(C,120); {120日移动平均线}

MA250:MA(C,250); {250日移动平均线}

IF(MA60>REF(MA60,1),MA60,DRAWNULL),COLORRED,LINETHICK2;

{今日的60日平均价大于昨天的60日平均价,则返回MA60,用红色2号粗线显示};

…… …… …… …… …… ……

注意:每条代码后面写在大括号里的文字就是对该条代码的解释。可以写在公式源码中,不会对源码中的指令造成干扰,便于自己以后看公式源码时一目了然。这是来自拾荒网10Huang.CN,专注短线技术技巧进阶。

二、工作线(25日均线)的编写

殷某人曾说过:工作线上工作,工作线下休息(有钱去香港,没钱去乡下)。下面我们就把这条工作线(25日均线)也给它变个色。还是在“我的均线系统2”中改写。

先将25日移动均线处理一下,用浅蓝色2粗线显示。

“我的均线系统2”源码:

…… …… …… …… …… ……

MA5:MA(C,5); {5日移动平均线}

MA10:MA(C,10); {10日移动平均线}

MA25:MA(C,25),COLORLIGREEN,LINETHICK2; {25日移动平均线,用浅蓝色2粗线显示}

MA60:MA(C,60),COLORGREEN,LINETHICK2; {60日移动平均线,用绿色2号粗线显示}

MA120:MA(C,120); {120日移动平均线}

MA250:MA(C,250); {250日移动平均线}

IF(MA60>REF(MA60,1),MA60,DRAWNULL),COLORRED,LINETHICK2;

{今日的60日平均价大于昨天的60日平均价,则返回MA60,用红色2号粗线显示};

IF(MA25>REF(MA25,1),MA25,DRAWNULL),COLORMAGENTA,LINETHICK2;

{今日的25日平均价大于昨天的25日平均价,则返回MA25,用洋红色2号粗线显示};

…… …… …… …… …… ……

朋友们,看懂了吗?有兴趣的回去照着葫芦画瓢试一下,找找感觉。其实我是真心希望大家跟着做,跟着练,慢慢地,什么样的公式来了,就都能看懂了,也不会被别人忽悠了。

今天就到这里吧,明天和大家讲讲涨、跌停板K 线的亮线表示。

标签: 通达信指标编写