下述公式在通达信上可以完全正确的划出高低点的连线,而移植到金字塔上则无法划出正确的高低点连线,看是否drawline的函数问题? 另,如何才能实现与通达信一样的画线效果?
主图叠加完整代码如下:
{波段高低点}
此主题相关图片如下:金字塔的显示.png
此主题相关图片如下:通达信的显示.png
KU1:IF(HIGH=HHV(HIGH,3),1,0),nodraw;//当日高点为3日高点则返回1
KD1:IF(LOW=LLV(LOW,3),1,0),nodraw;
UL:IF(REF(KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0,REF(HIGH,2),REF(HIGH,2+BARSLAST(REF(KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0))),nodraw;
DL:IF(REF(KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0,REF(LOW,2),REF(LOW,2+BARSLAST(REF(KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0))),nodraw;
HV:H>UL AND H>REF(H,1),nodraw ;
LV:L<DL AND L<REF(L,1),nodraw ;
GP:BARSLAST(HV),nodraw;
DP:BARSLAST(LV),nodraw;
IP:IF(GP=0,DP,GP)>3,nodraw;
HV1:HV AND IP AND H>=HHV(H,BARSLAST(LV)),nodraw;
LV1:LV AND IP AND L<=LLV(L,BARSLAST(HV)),nodraw;
DRAWLINE(LV1,LOW,HV1,HIGH,0),COLORRED,LINETHICK2;
DRAWLINE(HV1,HIGH,LV1,LOW,0),COLORGREEN,LINETHICK2;
//源码如下,通达信,金字塔可以通用
KU1:IF(HIGH=HHV(HIGH,3),1,0),nodraw;//当日高点为3日高点则返回1
KD1:IF(LOW=LLV(LOW,3),1,0),nodraw;
UL:IF(REF(KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0,REF(HIGH,2),REF(HIGH,2+BARSLAST(REF(KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0))),nodraw;
DL:IF(REF(KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0,REF(LOW,2),REF(LOW,2+BARSLAST(REF(KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0))),nodraw;
HV:H>UL AND H>REF(H,1),nodraw ;
LV:L<DL AND L<REF(L,1),nodraw ;
GP:BARSLAST(HV),nodraw;
DP:BARSLAST(LV),nodraw;
IP:IF(GP=0,DP,GP)>3,nodraw;
HV1:HV AND IP AND H>=HHV(H,BARSLAST(LV)),nodraw;
LV1:LV AND IP AND L<=LLV(L,BARSLAST(HV)),nodraw;
DRAWLINE(LV1,LOW,HV1,HIGH,0),COLORRED,LINETHICK2;
DRAWLINE(HV1,HIGH,LV1,LOW,0),COLORGREEN,LINETHICK2;
不是画线函数问题。是一些更隐秘的区别导致的。在涉及到无效数的处理上 软件有差异。导致后续的判断逻辑不一致了。
那,要处理成通行的一致么?
或者,说下具体的区别在哪里,看如何通过附加的代码来打个补丁?
还是不对。不是中间过程处理问题,无效数处理上影响不大。是画线函数的实现效果有差异。
比如下面这个:
红线的逻辑 按照描述应该是从LV1满足时候画到HV1 但是你看它这个。其实在HV1满足时候并没有停止画线。
此主题相关图片如下:temp.png
中间的位置 HV1已经满足了。
此主题相关图片如下:temp.png
所以现在就是它这个画线函数 和我们的不一样,然后它那个函数的说明 不足以搞清楚上面那个情况到底是怎么回事。
我刚测了一下,大智慧,同花顺,文华与通达信是保持一致的
确认了下。这个没办法转换。因为他们的画线是未来,而我们的画线不是这种模式的。目前情况来看是画不出一样的效果的了。