1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 通达信一根均线变色主图指标公式 实现均线向上向下变色

通达信一根均线变色主图指标公式 实现均线向上向下变色

时间:2024-02-24 16:07:11

相关推荐

通达信一根均线变色主图指标公式 实现均线向上向下变色

一、通达信指标公式执行逻辑

在介绍通达信一根均线变色主图指标公式之前,有必要先了解通达信指标公式的执行逻辑。

MA1:MA(C,20),COLORWHITE;{白色均线}

MA2:MA(C,20),COLORGREEN;{绿色均线}

MA3:MA(C,20),COLORRED;{红色均线};

这三根均线都是20日均线,颜色分别是白色、绿色、红色,你们觉得最后20日均线显示什么颜色呢?把上面的指标公式源码保存为“主图叠加”指标公式,加载到主图,可以发现均线的颜色是红色(如下图)。

通达信的指标公式代码从上往下执行(如下图),先画白色,再画绿色,最后画红色,就像画画一样,后面涂的颜色把之前的颜色覆盖了,最后均线颜色就显示红色。

二、指标公式编写

一根均线变色,就以均线向上向下变色公式为例,可以把均线分成向上、走平、向下三部分,为了方便,先不考虑走平。用IF函数来判断向上向下,向上部分画红色,向下部分画绿色。

MA20:=MA(C,20);{20日均线,不在图上显示20日均线}

IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;{如果20日均线的值大于前一日20日均线的值,就画出20日均线,否则不画,画出的均线颜色为红色}

IF(MA20<REF(MA20,1),MA20,DRAWNULL),COLORGREEN;{如果20日均线的值小于前一日20日均线的值,就画出20日均线,否则不画,画出的均线颜色为绿色};

把指标加载到主图,发现均线断断续续,即使把走平(即MA20=REF(MA20,1))这个条件加入公式,也不能解决问题,红绿衔接处始终存在缺口。我觉得可能是通达信的一个BUG,画线衔接没处理好。解决不了软件的BUG,只能在公式编写时曲线解决这个问题。

在本文开头,介绍了通达信指标公式代码的执行逻辑,三根均线语句依次执行,最后红色覆盖了之前的颜色。在上面的公式中,MA20:=MA(C,20);用的:=,在图上不会显示,改成MA20:MA(C,20);,就可以先画一根白色均线(通达信第一个输出默认是白色),然后再对向上部分画红色,向下部分画绿色,覆盖原来的白线,没有被红绿色覆盖的部分(缺口),还是显示最初的白色,这样就不会出现断断续续的情况。

MA20:MA(C,20);

IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;

IF(MA20<REF(MA20,1),MA20,DRAWNULL),COLORGREEN;

如果觉得三种颜色比较别扭,可以MA20设置为红色,即MA20:MA(C,20),COLORRED;,这样图上均线只会出现红色、绿色两种颜色。

MA20:MA(C,20),COLORRED;{20日均线,均线颜色为红色}

IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;{如果20日均线的值大于前一日20日均线的值,就画出20日均线,否则不画,画出的均线颜色为红色}

IF(MA20<REF(MA20,1),MA20,DRAWNULL),COLORGREEN;{如果20日均线的值小于前一日20日均线的值,就画出20日均线,否则不画,画出的均线颜色为绿色};

三、两根均线变色

有的人可能表示,一根均线变色主图指标公式我会了,但是两根均线变色怎么写呢?依葫芦画瓢,再加一根均线呗。(为了方便观察,对第二根均线进行了加粗)

MA20:MA(C,20),COLORRED;

IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;

IF(MA20<REF(MA20,1),MA20,DRAWNULL),COLORGREEN;

MA60:MA(C,60),COLORMAGENTA,LINETHICK2;

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

IF(MA60<REF(MA60,1),MA60,DRAWNULL),COLORCYAN,LINETHICK2;

关注技术Pie,学习更多通达信指标公式编写知识。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。