通达信指标中也有drawnull,但和金字塔的drawnull在执行中不大一样。例如此段代码:
AA:=IF(COND>=0,XXX,DRAWNULL);
BB: EMA(AA,60);
CC:=IF(COND<=0,XXX,DRAWNULL);
DD: EMA(CC,60);
在通达信中是如图:
此主题相关图片如下:1111.png

在金字塔中是如图:
原因出在:
通达信中的DRAWNULL为无效数,EMA(AA,60)中的AA都是有效数的计算,如同无效数不存在一样,但保持连续,无效数中以横线代替。
金字塔中的DRAWNULL也是无效数,但EMA(AA,60)中的AA,如果有效数不足60,那么就从当下开始计算,并不追溯寻找到以前的有效数凑足60计算。你看看每个阳柱都是从第一个阳柱开始计算,并不追溯到以前。
同样问题求助
条件语句中,通达信能通过 if(drawline(cond)=DRAWNULL,hhv(h,1),ref(h,1)) 来达到目的
但是金字塔不成
是不是系统底层代码对EMA函数的计算遇到自己定义的无效数就从当下计算,不追溯。这么样就无法实现了?
你改成0就都解决问题了
AA:=IF(C>o,1,0);
BB: ma(AA,5);
[此贴子已经被作者于2015/6/8 14:30:35编辑过]
肯定不行。你看看通达信和金魔方和飞狐交易师和同花顺和大智慧和赢顺都可以如图所示,除了博弈大师实现不了,就是你金字塔的EMA函数遇到定义的DRAWNULL就不追溯前边有效数据。人家上边所有的的EMA函数遇到DRAWNULL和你们的EMA函数遇到DRAWNULL就一样。