您现在的位置:程序化交易>> 股票公式>> 通达信>> 通达信知识>>正文内容

DRAWTEXT_FIX函数的求助 [通达信]

  • 咨询内容: 老师:
    先祝节日快乐!

    我有个问题,如下:
    想在主图右下角固定位置,根据某一条件,显示'牛股阶段'这四个汉字
    条件是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的话,一样会出现我所说的问题。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容