麻老师再看看 [文华财经]
-
咨询内容:
麻烦老师再看看,我想要的是红圈里这条线的柤反指标,即现在上面的绿色横线,和这条竖。现在的编码完全不是这样的
文件名:1646015910605.jpg来源:程序化99
- 文华技术人员: 来源:程序化99
-
文华技术人员:提供下完整源码,我们分析看下。
来源: WWW.CXH99.COM
-
文华客服:
VAR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),25);
VAR2:=HIGH-REF(HIGH,1);
VAR3:=REF(LOW,1)-LOW;
VAR4:=SUM(IF(VAR2>0 AND VAR2>VAR3,VAR2,0),25);
VAR5:=SUM(IF(VAR3>0 AND VAR3>VAR2,VAR3,0),25);
VAR6:=VAR4*100/VAR1;
VAR7:=VAR5*100/VAR1;
VAR8:=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15);
VAR9:=(VAR8+REF(VAR8,15))/2;
A:=(VAR7>VAR6 AND VAR7>25 AND VAR6<25);
B:=ZIGZAG(C,5,1)*100;
G:=MA(B,2);
D:=CROSS(B,G);
W:=CROSS(G,B);
INDEXL:="999001$L";
INDEXC:="999001$C";
INDEXH:="999001$H";
E:=REF(INDEXC,1);
F:=SMA(MAX(INDEXC-E,0),3,1)/SMA(ABS(INDEXC-E),3,1);
VAR10:=F AND F<8;
VAR11:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
VAR12:=SMA(VAR11,3,1);
VAR13:=SMA(VAR12,3,1);
VAR14:=VAR13 AND VAR13<20;
//STICKLINE(W=1,O,C,3,0); STICKLINE(D=1,O,C,3,0),COLORRED; 走势线:ZIGZAG(C,3,1),COLORWHITE,LINETHICK3; DRAWTEXT(CROSS(走势线,G),L,'',COLORRED,FONTSIZE20; DRAWTEXT(CROSS(G,走势线),H,''),COLORGREEN,FONTSIZE20; 支撑位:IF((走势线-REF(走势线,1))/REF(走势线,1)*100>=0,
REF(走势线,BARSLAST(CROSS((走势线-REF(走势线,1))/REF(走势线,1)*100,0))+1),NULL),RGB(255,128,0),LINETHICK7; //阻力位:IF((走势线-REF(走势线,1))/REF(走势线,1)*100<0, //REF(走势线,BARSLAST(CROSS(0,(走势线-REF(走势线,1))/REF(走势线,1)*100))+1),NULL),COLORLIGHTGREEN;
买卖价格位:MA(C,3),RGB(255,0,128),LINETHICK2; 头部:=PEAKBARS(3,3,1,1)=0; 底部:=TROUGHBARS(3,3,1,1)=0; DRAWTEXT(头部,H,'----------阻力 ',COLORGREEN; DRAWTEXT(底部,L,'++++++++支撑 ',COLORRED; F1:=ZIGZAG(C,16,1); DRAWICON(CROSS(ZIGZAG(C,10,1),REF(ZIGZAG(C,10,1),1)),LOW*0.997,7); DRAWICON(CROSS(REF(ZIGZAG(C,10,1),1),ZIGZAG(C,10,1)),HIGH*1.004,8); -
网友回复:
直接对支撑位做相反处理,源码中没有竖线标记的部分。
无法看图编写的,如果您有相关思路请具体量化下。
参考:
VAR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),25); VAR2:=HIGH-REF(HIGH,1); VAR3:=REF(LOW,1)-LOW; VAR4:=SUM(IF(VAR2>0 AND VAR2>VAR3,VAR2,0),25); VAR5:=SUM(IF(VAR3>0 AND VAR3>VAR2,VAR3,0),25); VAR6:=VAR4*100/VAR1; VAR7:=VAR5*100/VAR1; VAR8:=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15); VAR9:=(VAR8+REF(VAR8,15))/2; A:=(VAR7>VAR6 AND VAR7>25 AND VAR6<25); B:=ZIGZAG(C,5,1)*100; G:=MA(B,2); D:=CROSS(B,G); W:=CROSS(G,B); INDEXL:="999001$L"; INDEXC:="999001$C"; INDEXH:="999001$H"; E:=REF(INDEXC,1); F:=SMA(MAX(INDEXC-E,0),3,1)/SMA(ABS(INDEXC-E),3,1); VAR10:=F AND F<8; VAR11:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; VAR12:=SMA(VAR11,3,1); VAR13:=SMA(VAR12,3,1); VAR14:=VAR13 AND VAR13<20;
//STICKLINE(W=1,O,C,3,0); STICKLINE(D=1,O,C,3,0),COLORRED; 走势线:ZIGZAG(C,3,1),COLORWHITE,LINETHICK3; DRAWTEXT(CROSS(走势线,G),L,'',COLORRED,FONTSIZE20; DRAWTEXT(CROSS(G,走势线),H,''),COLORGREEN,FONTSIZE20; 支撑位:IF((走势线-REF(走势线,1))/REF(走势线,1)*100>=0,REF(走势线,BARSLAST(CROSS((走势线-REF(走势线,1))/REF(走势线,1)*100,0))+1),NULL),RGB(255,128,0),LINETHICK7; //阻力位:IF((走势线-REF(走势线,1))/REF(走势线,1)*100<0, //REF(走势线,BARSLAST(CROSS(0,(走势线-REF(走势线,1))/REF(走势线,1)*100))+1),NULL),COLORLIGHTGREEN; 压力位:IF((走势线-REF(走势线,1))/REF(走势线,1)*100<0,REF(走势线,BARSLAST(CROSSDOWN((走势线-REF(走势线,1))/REF(走势线,1)*100,0))+1),NULL),RGB(0,240,0),LINETHICK7;
买卖价格位:MA(C,3),RGB(255,0,128),LINETHICK2; 头部:=PEAKBARS(3,3,1,1)=0; 底部:=TROUGHBARS(3,3,1,1)=0; DRAWTEXT(头部,H,'----------阻力 ',COLORGREEN; DRAWTEXT(底部,L,'++++++++支撑 ',COLORRED; F1:=ZIGZAG(C,16,1); DRAWICON(CROSS(ZIGZAG(C,10,1),REF(ZIGZAG(C,10,1),1)),LOW*0.997,7); DRAWICON(CROSS(REF(ZIGZAG(C,10,1),1),ZIGZAG(C,10,1)),HIGH*1.004,8); -
网友回复:
老师能不能把这改改满足上述条件就出竖线
S:=1;
M:=20;
NNH:=BARSLAST(H=HHV(H,M)) ,NODRAW;
NNL:=BARSLAST(L=LLV(L,M)) ,NODRAW;
NN:=IF (REF(G,NNH)>REF(D,NNH) AND NNH<=M-3,NNH,IF (REF(G,NNL)<REF(D,NNL) AND NNL<=M-3,NNL,M-2)) ,NODRAW;
NNN:=IF (ISLASTBAR AND NN>0,NN,M-2) ,NODRAW;
H13:=REF(H,NNN)=HHV(H,M-1);
L13:=REF(L,NNN)=LLV(L,M-1);
FG01:=BACKSET(H13,NNN+1)>BACKSET(H13,NNN),NODRAW;//只设置前面第M-1个
FD01:=BACKSET(L13,NNN+1)>BACKSET(L13,NNN) ,NODRAW;
FG02:=FG01=FD01 AND G>D,NODRAW;
FD02:=FG01=FD01 AND G<D,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,M))>=M-2,M-2,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,M))>=M-2,M-2,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,M)))>REF(D,BARSLAST(L=LLV(L,M))),BARSLAST(L=LLV(L,M))<M-2,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,M)))<REF(D,BARSLAST(H=HHV(H,M))),BARSLAST(H=HHV(H,M))<M-2,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+M-2),DT1+1),NODRAW;
FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+M-2) AND REF(H,GT1)>HHV(H,GT1+M-2),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)+M-1) AND H>HHV(H,REF(GT1,1)+M-1),1,0),NODRAW;
FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+M-2),GT1+1),NODRAW;
FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+M-2) AND REF(L,DT1)>LLV(L,DT1+M-2),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)+M-1),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;
DRAWTEXT(HHH,H,'',COLORGREEN,FONTSIZE20,COLORGREEN ,ALIGN1,VALIGN2;
//DRAWSL(HHH,L,-99999,10,0,COLORYELLOW),LINETHICK5; DRAWLINE(HHH,L,1,L-9999*MINPRICE,COLORCYAN),DASHDOTDOT,LINETHICK3;
//DRAWSL(LLL,H,99999,1,0,COLORRED),LINETHICK5; DRAWLINE(LLL,H,1,H+50*MINPRICE,RGB(255,128,0)),LINETHICK3;
DRAWTEXT(LLL,L,'',COLORRED,VALIGN2,ALIGN1,FONTSIZE10;
AA:BACKSET(ISLASTBAR,BARSLAST(HHH)+1),NODRAW; BB:BACKSET(ISLASTBAR,BARSLAST(LLL)+1),NODRAW; N1:BARSLAST(HHH)+1;
DRAWLINE3(HHH&&AA,H,0,ISLASTBAR||LLL,VALUEWHEN(HHH,H),0,1),COLORWHITE,DASHDOT,LINETHICK3; DRAWLINE3(LLL&&BB,L,0,ISLASTBAR||HHH,VALUEWHEN(LLL,L),0,1),COLORWHITE,DASHDOT,LINETHICK4;
有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友
可联系技术人员 QQ: 262069696 或微信号:cxh99cxh99 进行 有偿收费 编写!
(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
相关文章
-
没有相关内容