COU:指标公式如何实现只保留一个信号?_DEA

在编写通达信指标公式时,经常会遇到出现很多信号,但是只想保留一个的问题。比如只保留最后一次信号,或者连续信号取第一个。今天就给大家介绍一下常见的处理方法,涉及到ISLASTBAR、CURRBARSCOUNT、FILTER、CROSS、COUNT这5个函数。

1、ISLASTBAR函数

ISLASTBAR函数用来判断是否为最后一个周期

举例:

DRAWICON(C>O,L,1);{如果是阳线,在最低价画红色箭头}

加载到主图,如下图,图片中的这一段行情下面的例子中会还会用到。

可以看到只要符合阳线,就有小箭头。如果只想保留最后一次信号,也就是今天是阳线的时候画红色箭头,需要用ISLASTBAR函数判断。

DRAWICON(ISLASTBARANDC>O,L,1);{如果今天是阳线,在最低价画红色箭头};

2、CURRBARSCOUNT函数

CURRBARSCOUNT函数获取到今天的周期数,比如今天CURRBARSCOUNT=1,昨天CURRBARSCOUNT=2。

举例:

CURRBARSCOUNT=5;{到今天的周期数等于5};

下图中倒数第5根K线出信号。

DRAWICON(CURRBARSCOUNT<=5ANDC>O,L,1);{如果到今天的周期数小于等于5并且是阳线,在最低价画红色箭头};

对于上文图1中一段行情,只有最近5天的K线是阳线时才会出现红色箭头。

3、FILTER函数

FILTER函数用来过滤连续出现的信号

用法:FILTER(X,N),X条件成立时,将后面N个周期内的X置为0。X=1表示条件成立,第一个X条件成立之后,后面的N个周期即使X=1,也会被置为0,这样就不成立了,不会出现信号。

例如:

YX:=FILTER(C>O,5);{出现阳线之后,之后5天的阳线信号过滤掉}

DRAWICON(YX,L,1);{出现阳线之后,5天之内再次出现阳线也不画红色箭头};

4、CROSS函数

CROSS函数表示交叉。

用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0

DIF:EMA(CLOSE,12)-EMA(CLOSE,26);

DEA:EMA(DIF,9);

MACD:(DIF-DEA)*2,COLORSTICK;

DRAWICON(MACD>0,0,1);{MACD大于0,在0处画红色箭头};

当使用MACD>0这个条件时,很多周期都可以满足条件,出现红色箭头,但是用CROSS(MACD,0)时,只有上穿的那个周期才会出现红色箭头。

DIF:EMA(CLOSE,12)-EMA(CLOSE,26);

DEA:EMA(DIF,9);

MACD:(DIF-DEA)*2,COLORSTICK;

DRAWICON(CROSS(MACD,0),0,1);{MACD大于0,在0处画红色箭头};

5、COUNT函数

COUNT函数用来统计条件成立的周期数

用法:COUNT(X,N),统计N周期中X条件成立的周期数,当COUNT(X,N)=1的时候,就表示第一次成立。

举例:零轴之上第一次金叉

DIF:EMA(CLOSE,12)-EMA(CLOSE,26);

DEA:EMA(DIF,9);

MACD:(DIF-DEA)*2,COLORSTICK;

T:=BARSLAST(CROSS(DEA,0));{DEA上穿0轴以来的周期数}

JC:=CROSS(DIF,DEA);{DIF、DEA金叉}

DYC:=JCANDCOUNT(JC,T)=1ANDDEA>0;{DEA上穿0轴以来第一次金叉,并且DEA大于0}

DRAWICON(DYC,DEA,1);{满足DYC条件画红色箭头};

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

友情提醒:本文仅供学习交流技术指标公式,不构成任何投资建议。投资有风险,入市需谨慎!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

BitcoinTIN:认识Libre力波_TINIDAWG价格

Libre力波币是一种基于波场网络的数字货币,旨在提供更快的交易速度和更低的交易费用。该货币采用了与比特币相似的挖矿算法,但与比特币不同的是,它使用了LPoS共识机制,这意味着它不需要大量的计算.

[0:0ms0-0:387ms