指标改为创某段时间以来的新高 (文华财经wh7睿期)

投资者咨询:指标改为创某段时间以来的新高 (文华财经wh7睿期)
来源:文华财经  日期:2019-3-5 14:24
 老师借用一下别人的指标看看可不可以这样改,历史新高可以改为某个时间段内的新高吗,例如;从2019年1月1号开始所创的新高。谢谢   ,以下文字都是复制过来的。
这里整理了一下您的思路,实际上您的要求是想在每次均线创历史新高的时候画最近两个K线的射线

因此这里需要判断,即均线创了历史新高,但是下根K线没有创本根的新高,那么就在本根K线和前根K线间连线

参考以下编写方式看下:

MA5:MA(C,5);
XG:=MA5>HV(MA5,0);//创历史新高
M1:VALUEWHEN(XG,MA5);//创历史新高的时候取均线值
Q:=CROSS(BACKSET(CROSSDOWN(MA5,M1),BARSLAST(M1<>REF(M1,1))+1),0.5);
Q1:=BACKSET(ISLASTBAR,BARSLAST(Q)+1);
DRAWLINE3(CROSS(Q1,0.5),MA5,0,CROSS(Q1,0.5),REF(MA5,1),1,0),COLORRED,LINETHICK3;
DRAWSL(CROSS(Q1,0.5),MA5,(MA5-REF(MA5,1))/1,1,2,COLORRED),DOT;


另外,您最新一层图片提到的“最早一次发生”,我在编写的时候觉得是用不到这个条件的,您为什么想要求这个点呢?

这个点可以这样求:CROSS(COUNT(XG,0)=1,0.5);//历史第一次创新高的点
 
技术人员回复
日期:2019-3-5 14:30
可以的,不过1月1日不是交易日,需要是交易日才可以的,比如1月2日,这样改下:

MA5:MA(C,5);
N:=BARSLAST(DATE=190102)+1;
XG:=MA5>HV(MA5,N);//创历史新高
M1:VALUEWHEN(XG,MA5);//创历史新高的时候取均线值
Q:=CROSS(BACKSET(CROSSDOWN(MA5,M1),BARSLAST(M1<>REF(M1,1))+1),0.5);
Q1:=BACKSET(ISLASTBAR,BARSLAST(Q)+1);
DRAWLINE3(CROSS(Q1,0.5),MA5,0,CROSS(Q1,0.5),REF(MA5,1),1,0),COLORRED,LINETHICK3;
DRAWSL(CROSS(Q1,0.5),MA5,(MA5-REF(MA5,1))/1,1,2,COLORRED),DOT;
投资者咨询:指标改为创某段时间以来的新高 (文华财经wh7睿期)
来源:文华财经  日期:2019-3-5 14:24
 子羽老师谢谢修改,我还想把黄色横线位置改一下。条件是在黄色横线出现的当根K线往历史位置数5根k线里面最高价的位置(最高价不包含上影线。

图片点击可在新窗口打开查看
技术人员回复
日期:2019-3-5 15:10
添加这句,参考:

M2:VALUEWHEN(XG,HV(MAX(C,O),5)),COLORYELLOW,DOT;
投资者咨询:指标改为创某段时间以来的新高 (文华财经wh7睿期)
来源:文华财经  日期:2019-3-5 14:24
 老师麻烦再改改,如图;

图片点击可在新窗口打开查看
技术人员回复
日期:2019-3-5 15:53
参考:

MA5:MA(C,5);
N:=BARSLAST(DATE=190102)+1;
XG:=MA5>HV(MA5,N);//创历史新高
M1:VALUEWHEN(REFX(CROSSDOWN(XG,0.5),1),MA5);//创历史新高的时候取均线值
Q:=CROSS(BACKSET(CROSSDOWN(MA5,M1),BARSLAST(M1<>REF(M1,1))+1),0.5);
Q1:=BACKSET(ISLASTBAR,BARSLAST(Q)+1);
//DRAWLINE3(CROSS(Q1,0.5),MA5,0,CROSS(Q1,0.5),REF(MA5,1),1,0),COLORRED,LINETHICK3;
//DRAWSL(CROSS(Q1,0.5),MA5,(MA5-REF(MA5,1))/1,1,2,COLORRED),DOT;
VERTLINE(CROSS(Q1,0.5),COLORGREEN),LINETHICK3;
M2:VALUEWHEN(REFX(CROSSDOWN(XG,0.5),1),HV(MAX(C,O),5)),COLORYELLOW,DOT;