请老师帮写一个划线公式 (文华财经WH8赢智V8.2)

投资者咨询:请老师帮写一个划线公式 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-3 16:21
 就是以当然开盘价为基准  每涨20个点就划红线 每跌20点就 画绿线   然后分别标注 字母H L

具体效果如下示例



图片点击可在新窗口打开查看
 
技术人员回复
日期:2018-7-3 16:27
参考:

JO:REF(O,DAYBARPOS-1),NODRAW;//JINKAI
A:INTPART((H-JO)/(20*MINPRICE)),NODRAW;
DRAWSL(A>VALUEWHEN(A>REF(A,1),REF(A,1)),JO+A*20*MINPRICE,0,1,0,COLORRED);
DRAWTEXT(A>REF(A,1),JO+A*20*MINPRICE,'H'),COLORRED;
DRAWSL(A<VALUEWHEN(A<REF(A,1),REF(A,1)),JO+A*20*MINPRICE,0,1,0,COLORGREEN);
DRAWTEXT(A<REF(A,1),JO+A*20*MINPRICE,'L'),COLORGREEN;
投资者咨询:请老师帮写一个划线公式 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-3 16:21
老师你这样写 有一点瑕疵。   比如当最高价涨了20个价位  就开始画红线,但是等价格 回落到刚刚划线以下(注意还没有到下跌20个价位的位置)就开始画绿线了。   能否完善一下。

也就是:当价格涨上去画红线后  ,除非价格 又跌了20个价位然后再划绿线。在没有跌到划绿线的时候之前的红线还保持。
技术人员回复
日期:2018-7-3 17:32

参考:

 

JO:REF(O,DAYBARPOS-1),NODRAW;//JINKAI
A:INTPART((H-JO)/(20*MINPRICE)),NODRAW;
N:BARSLAST(CROSS(A>VALUEWHEN(A>REF(A,1),REF(A,1)),0.5))+1;
M:=BARSLAST(CROSS(A<VALUEWHEN(A<REF(A,1),REF(A,1)),0.5))+1;
DRAWSL(N<M&&A>VALUEWHEN(A>REF(A,1),REF(A,1)),JO+A*20*MINPRICE,0,1,0,COLORRED);
DRAWTEXT(A>REF(A,1)&&N<M,JO+A*20*MINPRICE,'H'),COLORRED;
DRAWSL(A<VALUEWHEN(A<REF(A,1),REF(A,1))&&N>M,JO+A*20*MINPRICE,0,1,0,COLORGREEN);
DRAWTEXT(A<REF(A,1)&&N>M,JO+A*20*MINPRICE,'L'),COLORGREEN;