[求助]为什么使用函数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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容