通达信振幅公式求助

当K线振幅为10日内最大时,取当日高低幅的1/2,进行连线

ZF:=(H-L)/H*100;
MAXZF:=HHV(ZF,10);
MAXDATE:=BARSLAST(MAXZF<>REF(MAXZF,1));
ZF2:=(H+L)/2;
MIDLINE:IF(MAXZF<>REF(MAXZF,1),ZF2,REF(ZF2,MAXDATE));
{解释:
第一句表达的是振幅是怎么计算的
第二句表达的是10日内最大振幅值
第三句表达的是10日内最大振幅值发生距今天的天数
第四句表达的是振幅的1/2价位
第五句表达了您的要求}

第三句不正确,请教写法。
ZF:=(H-L)/REF(C,1)*100;
MAXZF:=HHV(ZF,10);
MAXDATE:=BARSLAST(REF(ZF,1)=MAXZF);{这句运行结果不对,错在哪里?}
ZF2:=(H+L)/2;
MIDLINE:IF(MAXZF!=REF(MAXZF,1),ZF2,REF(ZF2,MAXDATE));{这句有没有问题?}

整个公式的编写要求
(1)当K线振幅为10日内最大时,取当日高低幅度的1/2;
(2) 当K线振幅为10日内最小时,取当日的最低价;
(3) 如果开盘=收盘=最高=最低,取前一日收盘价;
(4)除此之外的K线取当日高低幅度的0.382位置。

通达信振幅指标公式:
涨幅:=(H-REF(C,1))/(REF(C,1))*100;
跌幅:=(-(REF(C,1)-L)/(REF(C,1)))*100;
振幅:=涨幅+(-跌幅);
真实振幅:(REF(振幅,1))-(REF(振幅,2))+(REF(振幅,1)),COLORRED;
真实振幅:REF(真实振幅,1),COLORGREEN;
MA1:=MA(CLOSE,1);
MA20:=MA(CLOSE,20);
最高:=H;
开盘:=O;
收盘:=C;
最低:=L;
STICKLINE(CROSS(真实振幅,昨真实振幅),200,0,1,0),COLORF93899;
STICKLINE(CROSS(真实振幅,昨真实振幅) AND MA1>MA20 AND 收盘>开盘 ,300,0,2,0),COLORRED;
STICKLINE(CROSS(真实振幅,昨真实振幅) AND 收盘<开盘 ,300,0,3,0),COLORBLUE;
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-01
zf=(H-L)/C*100%本回答被网友采纳
第2个回答  2014-05-10
MAXDATE:=BARSLAST(MAXZF<>REF(MAXZF,1));
改为
MAXDATE:=BARSLAST(MAXZF=ZF);
第3个回答  2021-03-18

相似回答