关于一个画线的表达 (文华财经WH6赢顺V6.7)

投资者咨询:关于一个画线的表达 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-11 20:52
 老师,怎样表达除当前周期外的十周期中最高点与次高点连线,并向右延伸,直到被走势穿越为止.谢谢 
投资者咨询:关于一个画线的表达 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-11 20:52

 由于WH6-WH7没有提供循环语句,遇到类似你这种情况,我一般都用穷举法,如下:

 

H1:=REF(H,1);

H2:=REF(H,2);

......  //以此类推,强写九行,取得除当前周期外的十个周期的最高值并保存到H1,H2,....H9变量中

 

TOPH:=REF(HHV(H,9),1);//取得这9个变量的最高值

NTOPH:=REF(HHVBARS(H,9),1);//取得这个最高值距离当前K的周期距离

 

//此高比较麻烦,但逻辑很简单,就是用穷举法发疯比较这H1,H2....H9这就个变量,从中找出第二大的值,因为没有循环,所以,只好用穷举法。这里就不给你写了,稍有编程经验的应该都可以穷举出来结果。虽然会废很多行代码

 

//假设经过穷举后,次高的值为SecondH,距离当前K线的周期为NSecondH

 

//下边画线

 

K:=(TOPH-SecondH)/(NTOPH-NSecondH);//算出最高点和次高点的斜率

 

drawsl1(islastbar,ref(h,min(ntoph,nsecondh)+min(ntop,nsecondh)*k,k,max(ntoph,nsecondh),1),colorbule;

//画斜线,斜率为K,线的起点为最后一根K线,即当前K。位置是最高点或次高点离得近的那点的值+斜率*这两点近者的距离,这样的直线,就会同时穿过这两点,即得出你想要的线

投资者咨询:关于一个画线的表达 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-11 20:52
 老师,我才学编程,对上面的话能看懂个大概意思,但具体写法还搞不定,老师能以 "表达除当前周期外的 4 周期中最高点与次高点连线,并向右延伸,直到被走势穿越为止"为例,帮我写个具体的吗?谢谢了
技术人员回复
日期:2018-8-12 9:46
参考:

N:=10;
T:=HHVBARS(H,N);
B1:=IF(T>=1,HHV(H,T),REF(HHV(H,N-1),1));
B2:=IF(T<(N-1),REF(HHV(H,REFX1(N-1-T,10000)),T+1),0);
高点:HHV(H,N),NODRAW;
次高点:MAX(B1,B2),NODRAW;

H1:=CROSS(BACKSET(ISLASTBAR,BARSLAST(H=高点)+1),0.5);
H2:=CROSS(BACKSET(ISLASTBAR,BARSLAST(H=次高点)+1),0.5);
DRAWLINE1(H1,H,H2,H,1);
DRAWLINE1(H2,H,H1,H,1);
投资者咨询:关于一个画线的表达 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-11 20:52
 老师请标出高点   次高点,谢谢!!!
技术人员回复
日期:2018-8-12 20:14
 您是标注具体的价格?

 参考这两句:

高点:HHV(H,N),NODRAW;
次高点:MAX(B1,B2),NODRAW;
技术人员回复
日期:2018-8-12 20:15
 您是标注具体的价格?

 参考这两句:

高点:HHV(H,N),NODRAW;
次高点:MAX(B1,B2),NODRAW;
投资者咨询:关于一个画线的表达 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-11 20:52
  老师,怎样表达除当前周期外的十周期中最点与次点连线,并向右延伸,直到被走势穿越为止.谢谢 
技术人员回复
日期:2018-8-13 8:02
 参考:

N:=10;

X:=LLVBARS(L,N);
K1:=IF(X>=1,LLV(L,X),REF(LLV(L,N-1),1));
K2:=IF(X<(N-1),REF(LLV(L,REFX1(N-1-X,10000)),X+1),0);
低点:LLV(L,N),NODRAW;
次低点:MIN(K1,K2),NODRAW;
L1:=CROSS(BACKSET(ISLASTBAR,BARSLAST(L=低点)+1),0.5);
L2:=CROSS(BACKSET(ISLASTBAR,BARSLAST(L=次低点)+1),0.5);
DRAWLINE1(L2,L,L1,L,1);
DRAWLINE1(L1,L,L2,L,1);