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

[求助]为什么使用函数Findhigh会崩溃&求及其替代指标? [通达信]

  • 咨询内容: 各位老师,大家周末愉快! 这两天有两个函数困扰着我,请老师帮忙指导一下看如何解决! 先行谢过! 我利用Findhigh和Findlow两个函数编写了一个指标,目的是想求买卖点之间的最大涨幅和最大跌幅, 可在使用此公式的时候,发现在副图里偶尔会正常显示,大部分情况下不显示数据,使用“.401”指标排序时软件会崩溃(我使用了三种5.86版通达信,无一例外)。 我编写的指标如下:(麻烦各位老师测试一下,先不论该指标是否能拿来做交易哈) {抄老底神奇85} AAA:=(MA(CLOSE,80)-MA(CLOSE,13)/3); BBB:=MA((CLOSE-AAA)/AAA,1); XG1:=CROSS(BBB,0) AND LOW/REF(HIGH,1)<1.012; VAR111A:=(C+H+O+L)/4; 压力线:=EMA(VAR111A,20)*(1+80/1000) ; 支撑线:=EMA(VAR111A,32)*(1-100/1000); 工作线:=EXPMA(CLOSE,12); XG2:=CROSS(C ,支撑线) OR="OR" (L<支撑线 AND="AND" C="C" >支撑线); XG:CROSS(C,工作线) AND XG1 AND XG2;{买点} VAR444:=REF(CLOSE,1); VAR555:=SMA(MAX(CLOSE-VAR444,0),7,1)/SMA(ABS(CLOSE-VAR444),7,1)*100; SS:CROSS(79,VAR555);{卖点} BL:IF(BARSLAST(XG)=DRAWNULL,0,BARSLAST(XG)),NODRAW;{最近买点距当前周期} SL:IF(BARSSINCEN(SS,BL)=DRAWNULL,0,BARSSINCEN(SS,BL)),NODRAW;{最近卖点距当前周期} BS:BL-SL,NODRAW;{买卖点之间的周期} MAXX:FINDHIGH(H,SL,BS,1),NODRAW;{卖点到买点之间最高价} MINN:FINDLOW(L,SL,BS,1),NODRAW;{卖点到买点之间最低价} MAX%:100*(MAXX/REF(C,BL)-1),NODRAW;{卖点到买点之间最大涨幅} MIN%:100*(MINN/REF(C,BL)-1),NODRAW;{卖点到买点之间最大跌幅} S%:100*(REF(C,SL)/REF(C,BL)-1),NODRAW;{卖点到买点之间收盘涨幅} NOW%:100*(C/REF(C,BL)-1),NODRAW;{买点到当前的涨幅} 另外,我看到休闲人2010老师在解答一个飞狐问题时给出了如下公式: “FINDHIGH(X,N,M,T); {X在N日前的M天内第T个最高价},当 t:=1; 时可以这样变通HHV(REF(X,N),M);” http://www.55188.com/viewthread. ... ;highlight=findhigh 我测试了一下,HHV(REF(X,N),M)达不到我的目的。 如果说Findhigh和Findlow两个函数导致崩溃或不显示是通达信的bug,能否用其他指标替代呢? 麻烦老师帮帮我,谢谢哈。

     

  • 通达信技术部: 编辑窗口显示文本正常,发表后就不分段了,不知道咋回事。 另外,我不能上传图片吗?

     

  • 通达信客服: 图片小于500K才可上传成功

     

  • 网友交流: AAA:=(MA(CLOSE,80)-MA(CLOSE,13)/3);
    BBB:=MA((CLOSE-AAA)/AAA,1);
    XG1:=CROSS(BBB,0) AND LOW/REF(HIGH,1)<1.012;
    VAR111A:=(C+H+O+L)/4;
    压力线:=EMA(VAR111A,20)*(1+80/1000);
    支撑线:=EMA(VAR111A,32)*(1-100/1000);
    工作线:=EXPMA(CLOSE,12);
    XG2:=CROSS(C ,支撑线) OR (L<支撑线 AND C >支撑线);
    XG:CROSS(C,工作线) AND XG1 AND XG2;{买点}
    VAR444:=REF(CLOSE,1);
    VAR555:=SMA(MAX(CLOSE-VAR444,0),7,1)/SMA(ABS(CLOSE-VAR444),7,1)*100;
    SS:CROSS(79,VAR555);{卖点}
    BL:IF(BARSLAST(XG)=DRAWNULL,0,BARSLAST(XG)),NODRAW;{最近买点距当前周期}
    SL:IF(BARSSINCEN(SS,BL)=DRAWNULL,0,BARSSINCEN(SS,BL)),NODRAW;{最近卖点距当前周期}
    BS:BL-SL,NODRAW;{买卖点之间的周期}
    MAXX:FINDHIGH(H,SL,BS,1),NODRAW;{卖点到买点之间最高价}
    MINN:FINDLOW(L,SL,BS,1),NODRAW;{卖点到买点之间最低价} MAX%:100*(MAXX/REF(C,BL)-1),NODRAW;
    {卖点到买点之间最大涨幅}
    MIN%:100*(MINN/REF(C,BL)-1),NODRAW;{卖点到买点之间最大跌幅}
    S%:100*(REF(C,SL)/REF(C,BL)-1),NODRAW;{卖点到买点之间收盘涨幅}
    NOW%:100*(C/REF(C,BL)-1),NODRAW;{买点到当前的涨幅};

     

  • 网友交流:

    没有错误 祝投资愉快

 

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

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


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

相关文章

    没有相关内容