打印本文打印本文 关闭窗口关闭窗口

DRAWTEXT_FIX函数的求助

作者:通达信 来源:cxh99.com 发布时间:2017年08月17日
  • 咨询内容: 老师:
    先祝节日快乐!

    我有个问题,如下:
    想在主图右下角固定位置,根据某一条件,显示'牛股阶段'这四个汉字
    条件是120线大于240线。
    DRAWTEXT_FIX(显示条件,0.96,0.99,0,'牛股阶段');

    情况1---直接把判断式植入
    DRAWTEXT_FIX(MA(C,120)>MA(C,240),0.96,0.99,0,'牛股阶段'),COLORGREEN;

    情况2---把判断式先设为过渡变量DD后,再植入
    DD:=MA(C,120)>MA(C,240);
    DRAWTEXT_FIX(DD,0.96,0.80,0,'牛股阶段'),COLORMAGENTA;
    DRAWTEXT_FIX(DD=1,0.96,0.85,0,'牛股阶段'),COLORMAGENTA;
    DRAWTEXT_FIX(DD=0,0.96,0.90,0,'牛股阶段'),COLORMAGENTA;

    情况3---把显示内容先设为过渡变量RR后,再植入
    RR:=IF(MA(C,120)>MA(C,240),'牛股阶段','');
    DRAWTEXT_FIX(1,0.96,0.90,0,RR),COLORMAGENTA;

    以深科技为例,今天120线低于240线,只有第三种写法能正确显示,为什么前两种写法不对?先谢谢老师了。

     

  • 通达信技术部: DRAWTEXT函数中COND不做交易日限制的话默认的是K线界面中有K线满足该条件就写文字,情况1,2就属于这种;
    情况3用IF来限制写文字特别好,可以避免上面的问题;
    或者可以对情况3稍作修改:
    DRAWTEXT_FIX(CURRBARSCOUNT=1 AND MA(C,120)>MA(C,240),0.5,0.99,0,'牛股阶段'),COLORGREEN;

     

  • 通达信客服: 源码如下:
    N:=30;
    Y1:=HHV(H,N);
    Y2:=LLV(L,N);
     YZ:=Y1-Y2;

    Y4:Y2+YZ/2,NODRAW;

    EE:=IF(CLOSE>Y4,'线上','线下');
    DRAWTEXT(CURRBARSCOUNT=10,Y4*1.02,EE),COLORYELLOW;
    NOTEXT1:CONST(Y4),COLORCYAN;

    上面的源码想表达,
    提取最近30天的最高和最低价,再取中值,即主图中的青色水平线。
    如果今天的收盘价高于它,就显示【线上】,如果低于它,就显示【线下】
    下两图:深中华和中兴通讯是对的

    此主题相关图片如下快照2.png:


    此主题相关图片如下快照6.png:


    而下图的各图均是错的(深康佳,深赤湾,华联控股)

    此主题相关图片如下快照1.png:


    此主题相关图片如下快照3.png:


    此主题相关图片如下快照4.png:




     

  • 网友交流: 问题是??
    这边输出后没问题,你的条件是离最后交易日10个周期满足上面条件就写相应汉字。

     

  • 网友交流: 不啊,楼上那个你添加的红框内的
    CURRBARSCOUNT=10
    仅是为了把显示的文字左移,以便看清。
    因为我把它改为ISLASTBAR的话,一样会出现我所说的问题。
打印本文打印本文 关闭窗口关闭窗口