请教自动画线编写 (文华财经wh7睿期)

投资者咨询:请教自动画线编写 (文华财经wh7睿期)
来源:文华财经  日期:2018-8-29 11:39
 老师文华7可以编写跨周期画线条件吗

技术人员回复
日期:2018-8-29 13:18
 可以的,WH7支持简单的跨周期函数" $ $ " 

您可以具体量化下您的条件,我们看下如何编制成功
投资者咨询:请教自动画线编写 (文华财经wh7睿期)
来源:文华财经  日期:2018-8-29 11:39
 在一分钟K线图上画5、15、30、 60、日 K线图上的5、 10、 20 、 40、 60均线,用直线画出来的,直线要随着均线的数值变动而变动,每次的低点和低点直线相连接,高点和高点相连接,低点破位A和B画线自动删除,B和C画线,高点同理

图片点击可在新窗口打开查看
技术人员回复
日期:2018-8-29 14:30
 均线的计算都是实时的,通过换算计算结果会是曲线,您说的直线是如何计算的?

请您具体描述一下

另外低点高点您也需要量化一下,您截图看不出您是如何确定的

投资者咨询:请教自动画线编写 (文华财经wh7睿期)
来源:文华财经  日期:2018-8-29 11:39
 直线就是以实时的数值画线的,画直线均线的源码加入下面的指标,另外下面的指标已经把高低点标注出来了

G:=MA(C,5);

DY:=MA(C,10);

NNH:=BARSLAST(H=HHV(H,7)) ,NODRAW;

NNL:=BARSLAST(L=LLV(L,7)) ,NODRAW;

NN:=IF(REF(G,NNH)>REF(DY,NNH) AND NNH<=4,NNH,IF(REF(G,NNL)<REF(DY,NNL) AND NNL<=4,NNL,5)) ,NODRAW;

YN:=IF(ISLASTBAR AND NN>0,NN,5) ,NODRAW;

HHY:=REF(H,YN)=HHV(H,6);

LLY:=REF(L,YN)=LLV(L,6);

FG01:=BACKSET(HHY,YN+1)>BACKSET(HHY,YN),NODRAW;//只设置前面第6

FD01:=BACKSET(LLY,YN+1)>BACKSET(LLY,YN) ,NODRAW;

FG02:=FG01=FD01 AND G>DY,NODRAW;

FD02:=FG01=FD01 AND G<DY,NODRAW;

TTTT:=BARSLAST(FD01),NODRAW;

FG0:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,7))>=5,5,BARSLAST(FD01)))) AND FD02=0 ,NODRAW;

FD0:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,7))>=5,5,BARSLAST(FG01))))  AND FG02=0 ,NODRAW;

GT:=BARSLAST(FG0),NODRAW;

DT:=BARSLAST(FD0),NODRAW;

LLLL:=DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW;

FG1:=BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW;

FD1:=BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW;

FG11:=IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,7)))>REF(DY,BARSLAST(L=LLV(L,7))),BARSLAST(L=LLV(L,7))<5,1) AND  H<REF(H,REF(GT,1)+1),1,0),NODRAW;

FD11:=IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,7)))<REF(DY,BARSLAST(H=HHV(H,7))),BARSLAST(H=HHV(H,7))<5,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW;

GT1:=BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW;

DT1:=BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW;

FD2:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+5),DT1+1),NODRAW;

FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+5) AND REF(H,GT1)>HHV(H,GT1+5),GT1+1),NODRAW;

FG2B:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+6) AND H>HHV(H,REF(GT1,1)+6),1,0),NODRAW;

FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW;

FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+5) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;

FD2B:=IF(DT1=0 AND GT1<4 AND REF(DT1,1)-GT1<4 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+6),1,0),NODRAW;

TTTTTT:= H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW;

HHHHHH:=REF(LLV(L,10),DT1),NODRAW;

FG21:=IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1)  ,1,0),NODRAW;

FD21:=IF(DT1=0 AND GT1<4  AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;

FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW;

FG23:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND  GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,13),GT1) OR REF(FD231,DT1)=0),GT1+1),NODRAW;

FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3  AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW;

FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3  AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW;

FDD23:=REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW;

FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)<HHV(H,GT1+3) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;

FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3  AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)>LLV(L,DT1+3) AND REF(H,GT1)<HHV(H,GT1+5),GT1+1),NODRAW;

GT2:=BARSLAST(FG21<>1 AND FG23<>1 AND FG231<>1 AND FG24<>1   AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW;

DT2:=BARSLAST(FD21<>1 AND FD23<>1 AND FD231<>1 AND FD24<>1  AND FD2<>1 AND FD2A<>1 AND FD2B<>1 AND DT1=0),NODRAW;

FG3:=BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW;

FD3:=BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW;

FG31:=IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW;

FD31:=IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW;

GT3:=BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW;

DT3:=BARSLAST(DT2=0 AND  FD3<>1 AND FD31<>1),NODRAW;

FG4:=BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW;

FD4:=BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW;

FG41:=IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW;

FD41:=IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW;

HHH:=GT3=0 AND FG31<>1 AND  FG3<>1,NODRAW;

LLL:=DT3=0 AND FD31<>1 AND  FD3<>1,NODRAW;

XX:=BACKSET(ISLASTBAR,SUMBARS(HHH,3));

ZZ:=BACKSET(ISLASTBAR,SUMBARS(LLL,3));

Q:=BACKSET(ISLASTBAR,SUMBARS(HHH,1));

W:=BACKSET(ISLASTBAR,SUMBARS(LLL,1));

DRAWLINE1(HHH&&XX,H,HHH&&Q,H,1);

DRAWLINE1(LLL&&ZZ,L,LLL&&W,L,1);

DRAWICON(HHH,H,1);

DRAWICON(LLL,L,1);

技术人员回复
日期:2018-8-29 15:20
 给您一个小周期引用大周期范例,您参考修改即可,您要的均线太多,不能给您都编写出来的

NX:=5;

CC:="DAY$1$CLOSE";//返回日线的上一日收盘价。

N:=BARSLAST(DATE<>REF(DATE,1))+1;//返回当根k线是当天的第几根k线

CC1:=IF(N=1,CC,0);//如果是当日第一根k线,就取前一日的收盘价,否则取0

T:=SUM(CC1,SUMBARS(N=1,NX-1))+C;//求前4日的收盘价与最新一根K线的最新价

MA5R:T/NX;//求平均,日线MA5


NX1:=5;

CC1:="HOUR$1$CLOSE";

N11:=BARSLAST(HOUR<>REF(HOUR,1))+1;

CC11:=IF(N11=1,CC1,0);

T1:=SUM(CC11,SUMBARS(N11=1,NX1-1))+C;

MA5H:T1/NX1;//求平均,一小时MA5


连线代码不用变,保留即可

 
投资者咨询:请教自动画线编写 (文华财经wh7睿期)
来源:文华财经  日期:2018-8-29 11:39
 您的意思是多编不了,还是照着范例自己编,那个指标连线不符合我的思路,这个指标编完要加入程序化指标里的
技术人员回复
日期:2018-8-29 15:56
 您原指标是未来函数指标,不可能用在程序化模型中的

而且重新分析了下,您原来思路是一分钟周期引用多周期多均线,实际只能自设页面建立多周期k线图对比查看

因为跨周期是有限制的,wh7中只能跨周期引用一个周期数据

因此建议您菜单个性化》新建页面,添加多窗口,叠加各个周期k线,添加均线指标,对比看盘
投资者咨询:请教自动画线编写 (文华财经wh7睿期)
来源:文华财经  日期:2018-8-29 11:39
 就是因为对比太麻烦,才想用源码解决,特别是遇到大行情均线对价格影响很大,现在我是用手动画线画出来,但是不是实时的不准确,请老师在文华8上帮忙编写出来,谢谢
技术人员回复
日期:2018-8-29 16:38
WH8编写如下,建立AA引用模型

MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
MA40:MA(C,40);
MA60:MA(C,60);

另建均线模型
#IMPORT [MIN,5,AA] AS VAR1
#IMPORT [MIN,15,AA] AS VAR2
#IMPORT [MIN,30,AA] AS VAR3
#IMPORT [MIN,60,AA] AS VAR4
#IMPORT [DAY,1,AA] AS VAR5
VAR1.MA5;
VAR1.MA10;
VAR1.MA20;
VAR1.MA40;
VAR1.MA60;

VAR2.MA5;
VAR2.MA10;
VAR2.MA20;
VAR2.MA40;
VAR2.MA60;

VAR3.MA5;
VAR3.MA10;
VAR3.MA20;
VAR3.MA40;
VAR3.MA60;

VAR4.MA5;
VAR4.MA10;
VAR4.MA20;
VAR4.MA40;
VAR4.MA60;

VAR5.MA5;
VAR5.MA10;
VAR5.MA20;
VAR5.MA40;
VAR5.MA60;