投资者咨询:如何修改代码? (文华财经WH6赢顺V6.8)
来源:文华财经 日期:2020-7-31 8:45
N:=26;//简单定义26周期的ATR
TR :=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR :=MA(TR,N),COLORYELLOW;//求N个周期内的TR的简单移动平均
M:=1/2;//简单定义M倍的ATR
SG:VALUEWHEN(DAYBARPOS=1,O)+M*ATR;
XG:VALUEWHEN(DAYBARPOS=1,O)-M*ATR;//表示当日K线的开盘价加减M倍的ATR为上下轨
A:=CROSSUP(C,SG);
B:=CROSSDOWN(C,XG);
DRAWICON(A,C,'ICO1');
DRAWICON(B,C,'ICO2');
NH:=BARSLAST(A)+1;
NL:=BARSLAST(B)+1;
AH:=BACKSET(COUNT(B,NH)&&B,NH);//低点前第一个高点
AL:=BACKSET(COUNT(A,NL)&&A,NL);//高点前第一个低点
DRAWLINE1(CROSS(AH=1,0.5),C,CROSS(AL=1,0.5),C,0),LINETHICK3,COLORRED;
DRAWLINE1(CROSS(AL=1,0.5),C,CROSS(AH=1,0.5),C,0),LINETHICK3,COLORGREEN;
DRAWICON(A,C,'ICO1');
这个连线的代码有错误如何修改,谢谢!
技术人员回复
日期:2020-7-31 8:49
从源码上看编写思路,当出现连续上穿上轨时,画线取的是最后一个上穿上轨的K线
改成取第一个参考:
N:=26;//简单定义26周期的ATR
TR :=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR :=MA(TR,N),COLORYELLOW;//求N个周期内的TR的简单移动平均
M:=1/2;//简单定义M倍的ATR
SG:VALUEWHEN(DAYBARPOS=1,O)+M*ATR;
XG:VALUEWHEN(DAYBARPOS=1,O)-M*ATR;//表示当日K线的开盘价加减M倍的ATR为上下轨
A:=CROSSUP(C,SG);
B:=CROSSDOWN(C,XG);
DRAWICON(A,C,'ICO1');
DRAWICON(B,C,'ICO2');
NH:=BARSLAST(A)+1;
NL:=BARSLAST(B)+1;
AH:BACKSET(COUNT(B,NH)&&B,NH);//低点前第一个高点
AL:=BACKSET(COUNT(A,NL)&&A,NL);//高点前第一个低点
DRAWLINE1(A,C,B,C,0),LINETHICK3,COLORRED;
DRAWLINE1(B,C,A,C,0),LINETHICK3,COLORGREEN;
DRAWICON(A,C,'ICO1');
DRAWICON(B,C,'ICO2');