还在手工连线找高低点?看完这套源码的逻辑,才知道以前浪费了多少时间
点击蓝字 关注我们

指标编写,修改,加密指标和谐
声明:分享的指标公式源码,仅供个人学习和研究技术所用,不具备任何操作指导功能,依次操作,所有责任自己承担,无本公众号无关!
M_NEW:=5;//M值需要大于等于5
G_NEW:=MA(C,5);
D_NEW:=MA(C,10);
NNH_NEW:=BARSLAST(H=HHV(H,M_NEW)) ,NODRAW;
NNL_NEW:=BARSLAST(L=LLV(L,M_NEW)) ,NODRAW;
NN_NEW:=IF(REF(G_NEW,NNH_NEW)>REF(D_NEW,NNH_NEW) AND NNH_NEW<=M_NEW-3,NNH_NEW,IF(REF(G_NEW,NNL_NEW)<REF(D_NEW,NNL_NEW) AND NNL_NEW<=M_NEW-3,NNL_NEW,M_NEW-2)) ,NODRAW;
NNN_NEW:=IF(ISLASTBAR AND NN_NEW>0,NN_NEW,M_NEW-2) ,NODRAW;
H1_NEW:=REF(H,NNN_NEW)=HHV(H,M_NEW-1);
L1_NEW:=REF(L,NNN_NEW)=LLV(L,M_NEW-1);
FG01_NEW:=BACKSET(H1_NEW,NNN_NEW+1)>BACKSET(H1_NEW,NNN_NEW),NODRAW;//只设置前面第M-1个
FD01_NEW:=BACKSET(L1_NEW,NNN_NEW+1)>BACKSET(L1_NEW,NNN_NEW) ,NODRAW;
FG02_NEW:=FG01_NEW=FD01_NEW AND G_NEW>D_NEW,NODRAW;
FD02_NEW:=FG01_NEW=FD01_NEW AND G_NEW<D_NEW,NODRAW;
TTTT_NEW:=BARSLAST(FD01_NEW),NODRAW;
FG0_NEW:=FG01_NEW AND IF(FG02_NEW=1,H=HHV(H,BARSLAST(REF(FD01_NEW,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,M_NEW))>=M_NEW-2,M_NEW-2,BARSLAST(FD01_NEW)))) AND FD02_NEW=0 ,NODRAW;
FD0_NEW:=FD01_NEW AND IF(FD02_NEW=1,L=LLV(L,BARSLAST(REF(FG01_NEW,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,M_NEW))>=M_NEW-2,M_NEW-2,BARSLAST(FG01_NEW)))) AND FG02_NEW=0 ,NODRAW;
//高低点间周期
GT_NEW:=BARSLAST(FG0_NEW),NODRAW;
DT_NEW:=BARSLAST(FD0_NEW),NODRAW;
//第一次处理高低点间多余的点
LLLL_NEW:=DT_NEW=0 AND REF(DT_NEW,1)<GT_NEW AND L>REF(L,REF(DT_NEW,1)+1),NODRAW;
FG1_NEW:=BACKSET(REFX(GT_NEW,1)=0 AND GT_NEW<DT_NEW AND REFX(H,1)>=REF(H,GT_NEW),GT_NEW+1),NODRAW;
FD1_NEW:=BACKSET(REFX(DT_NEW,1)=0 AND DT_NEW<GT_NEW AND REFX(L,1)<=REF(L,DT_NEW),DT_NEW+1),NODRAW;
FG11_NEW:=IF(GT_NEW=0 AND REF(GT_NEW,1)<DT_NEW AND IF(REF(G_NEW,BARSLAST(L=LLV(L,M_NEW)))>REF(D_NEW,BARSLAST(L=LLV(L,M_NEW))),BARSLAST(L=LLV(L,M_NEW))<M_NEW-2,1) AND H<REF(H,REF(GT_NEW,1)+1),1,0),NODRAW;
FD11_NEW:=IF(DT_NEW=0 AND REF(DT_NEW,1)<GT_NEW AND IF(REF(G_NEW,BARSLAST(H=HHV(H,M_NEW)))<REF(D_NEW,BARSLAST(H=HHV(H,M_NEW))),BARSLAST(H=HHV(H,M_NEW))<M_NEW-2,1) AND L>REF(L,REF(DT_NEW,1)+1),1,0),NODRAW;
//再次周期
GT1_NEW:=BARSLAST(FG11_NEW<>1 AND FG1_NEW<>1 AND FG0_NEW),NODRAW;
DT1_NEW:=BARSLAST(FD11_NEW<>1 AND FD1_NEW<>1 AND FD0_NEW),NODRAW;
FD2_NEW:=BACKSET(REFX(GT1_NEW,1)=0 AND DT1_NEW<3 AND GT1_NEW-DT1_NEW<4 AND REF(L,DT1_NEW)>LLV(L,GT1_NEW+M_NEW-2),DT1_NEW+1),NODRAW;
FG2A_NEW:=BACKSET(REFX(GT1_NEW,1)=0 AND DT1_NEW<3 AND GT1_NEW-DT1_NEW<4 AND REF(L,DT1_NEW)<=LLV(L,GT1_NEW+M_NEW-2) AND REF(H,GT1_NEW)>HHV(H,GT1_NEW+M_NEW-2),GT1_NEW+1),NODRAW;
FG2B_NEW:=IF(GT1_NEW=0 AND DT1_NEW<4 AND REF(GT1_NEW,1)-DT1_NEW<4 AND REF(L,DT1_NEW)<=LLV(L,REF(GT1_NEW,1)+M_NEW-1) AND H>HHV(H,REF(GT1_NEW,1)+M_NEW-1),1,0),NODRAW;
FG2_NEW:=BACKSET(REFX(DT1_NEW,1)=0 AND GT1_NEW<3 AND DT1_NEW-GT1_NEW<4 AND REF(H,GT1_NEW)<HHV(H,DT1_NEW+M_NEW-2),GT1_NEW+1),NODRAW;
FD2A_NEW:=BACKSET(REFX(DT1_NEW,1)=0 AND GT1_NEW<3 AND DT1_NEW-GT1_NEW<4 AND REF(H,GT1_NEW)>=HHV(L,DT1_NEW+M_NEW-2) AND REF(L,DT1_NEW)>LLV(L,DT1_NEW+M_NEW-2),DT1_NEW+1),NODRAW;
FD2B_NEW:=IF(DT1_NEW=0 AND GT1_NEW<4 AND REF(DT1_NEW,1)-GT1_NEW<4 AND REF(H,GT1_NEW)>=HHV(H,REF(DT1_NEW,1)+6) AND L>LLV(L,REF(DT1_NEW,1)+M_NEW-1),1,0),NODRAW;
TTTTTT_NEW:= H<REF(H,REF(GT1_NEW,1)+1) AND DT1_NEW<4,NODRAW;
HHHHHH_NEW:=REF(LLV(L,10),DT1_NEW),NODRAW;
//前长后短;
FG21_NEW:=IF(GT1_NEW=0 AND DT1_NEW<4 AND H<=REF(H,REF(GT1_NEW,1)+1) ,1,0),NODRAW;
FD21_NEW:=IF(DT1_NEW=0 AND GT1_NEW<4 AND L>=REF(L,REF(DT1_NEW,1)+1) ,1,0),NODRAW;
//前短后长,前低后高(去低);
FD231_NEW:=BACKSET(REFX(GT1_NEW,1)=0 AND DT1_NEW>3 AND GT1_NEW>DT1_NEW AND GT1_NEW-DT1_NEW<4 AND REFX(H,1)>REF(H,GT1_NEW) AND REF(L,DT1_NEW)>REF(LLV(L,10),DT1_NEW),DT1_NEW+1),NODRAW;
FG23_NEW:=BACKSET(REFX(GT1_NEW,1)=0 AND DT1_NEW>3 AND GT1_NEW>DT1_NEW AND GT1_NEW-DT1_NEW<4 AND REFX(H,1)>REF(H,GT1_NEW) AND (REF(H,GT1_NEW)<REF(HHV(H,13),GT1_NEW) OR REF(FD231_NEW,DT1_NEW)=0),GT1_NEW+1),NODRAW;
//前短后长,去2;
FG231_NEW:=BACKSET(REFX(DT1_NEW,1)=0 AND GT1_NEW>3 AND DT1_NEW>GT1_NEW AND DT1_NEW-GT1_NEW<4 AND REFX(L,1)<REF(L,DT1_NEW) AND REF(H,GT1_NEW)<REF(HHV(H,10),GT1_NEW) ,GT1_NEW+1),NODRAW;
FD23_NEW:=BACKSET(REFX(DT1_NEW,1)=0 AND GT1_NEW>3 AND DT1_NEW>GT1_NEW AND DT1_NEW-GT1_NEW<4 AND REFX(L,1)<REF(L,DT1_NEW) AND ( REF(L,DT1_NEW)>REF(LLV(L,13),DT1_NEW) OR REF(FG231_NEW,GT1_NEW)=0),DT1_NEW+1),NODRAW;
//前短后长,去3;
FDD23_NEW:=REF(H,GT1_NEW)<REF(HHV(H,10),GT1_NEW) OR REF(FD23_NEW,DT1_NEW)=0,NODRAW;
FD24_NEW:=BACKSET(REFX(GT1_NEW,1)=0 AND DT1_NEW>3 AND GT1_NEW>DT1_NEW AND GT1_NEW-DT1_NEW<4 AND REFX(H,1)<HHV(H,GT1_NEW+3) AND REF(L,DT1_NEW)>LLV(L,DT1_NEW+5),DT1_NEW+1),NODRAW;
FG24_NEW:=BACKSET(REFX(DT1_NEW,1)=0 AND GT1_NEW>3 AND DT1_NEW>GT1_NEW AND DT1_NEW-GT1_NEW<4 AND REFX(L,1)>LLV(L,DT1_NEW+3) AND REF(H,GT1_NEW)<HHV(H,GT1_NEW+5),GT1_NEW+1),NODRAW;
//做两次高低点间多余的点
GT2_NEW:=BARSLAST(FG21_NEW<>1 AND FG23_NEW<>1 AND FG231_NEW<>1 AND FG24_NEW<>1 AND FG2_NEW<>1 AND FG2A_NEW<>1 AND FG2B_NEW<>1 AND GT1_NEW=0),NODRAW;
DT2_NEW:=BARSLAST(FD21_NEW<>1 AND FD23_NEW<>1 AND FD231_NEW<>1 AND FD24_NEW<>1 AND FD2_NEW<>1 AND FD2A_NEW<>1 AND FD2B_NEW<>1 AND DT1_NEW=0),NODRAW;
FG3_NEW:=BACKSET(REFX(GT2_NEW,1)=0 AND GT2_NEW<DT2_NEW AND REFX(H,1)>=REF(H,GT2_NEW),GT2_NEW+1),NODRAW;
FD3_NEW:=BACKSET(REFX(DT2_NEW,1)=0 AND DT2_NEW<GT2_NEW AND REFX(L,1)<=REF(L,DT2_NEW),DT2_NEW+1),NODRAW;
FG31_NEW:=IF(GT2_NEW=0 AND REF(GT2_NEW,1)<DT2_NEW AND H<REF(H,REF(GT2_NEW,1)+1),1,0),NODRAW;
FD31_NEW:=IF(DT2_NEW=0 AND REF(DT2_NEW,1)<GT2_NEW AND L>REF(L,REF(DT2_NEW,1)+1),1,0),NODRAW;
GT3_NEW:=BARSLAST(GT2_NEW=0 AND FG3_NEW<>1 AND FG31_NEW<>1 ),NODRAW;
DT3_NEW:=BARSLAST(DT2_NEW=0 AND FD3_NEW<>1 AND FD31_NEW<>1),NODRAW;
FG4_NEW:=BACKSET(REFX(GT3_NEW,1)=0 AND GT3_NEW<DT3_NEW AND REFX(H,1)>=REF(H,GT3_NEW),GT3_NEW+1),NODRAW;
FD4_NEW:=BACKSET(REFX(DT3_NEW,1)=0 AND DT3_NEW<GT3_NEW AND REFX(L,1)<=REF(L,DT3_NEW),DT3_NEW+1),NODRAW;
FG41_NEW:=IF(GT3_NEW=0 AND REF(GT3_NEW,1)<DT3_NEW AND H<REF(H,REF(GT3_NEW,1)+1),1,0),NODRAW;
FD41_NEW:=IF(DT3_NEW=0 AND REF(DT3_NEW,1)<GT3_NEW AND L>REF(L,REF(DT3_NEW,1)+1),1,0),NODRAW;
HHH_NEW:=GT3_NEW=0 AND FG31_NEW<>1 AND FG3_NEW<>1,NODRAW;
LLL_NEW:=DT3_NEW=0 AND FD31_NEW<>1 AND FD3_NEW<>1,NODRAW;
DRAWLINE1(HHH_NEW ,H,LLL_NEW,L,0),COLORGREEN,LINETHICK2;//绿色
DRAWLINE1(LLL_NEW,L,HHH_NEW ,H,0),COLORRED,LINETHICK2;//红色
//最后一段画线
N1_NEW:=BARSLAST(HHH_NEW)+1;
N2_NEW:=BARSLAST(LLL_NEW)+1;
DRAWLINE3(ISLASTBAR&&MIN(N1_NEW,N2_NEW)=N2_NEW&&L>REF(L,N2_NEW-1),REF(L,N2_NEW-1),N2_NEW-1,ISLASTBAR,H,0,0),COLORRED,LINETHICK3;//红色
DRAWLINE3(ISLASTBAR&&MIN(N1_NEW,N2_NEW)=N1_NEW&&H<REF(H,N1_NEW-1),REF(H,N1_NEW-1),N1_NEW-1,ISLASTBAR,L,0,0),COLORGREEN,LINETHICK3;//绿色
高低点相减:=VALUEWHEN(HHH_NEW||LLL_NEW,IF(LLL_NEW,L,H))-REF(IF(LLL_NEW,L,H),SUMBARS(HHH_NEW||LLL_NEW,2)-1);
红线的价差减前绿线的的价差:=VALUEWHEN(HHH_NEW||LLL_NEW,IF(LLL_NEW,L,H))-REF(IF(LLL_NEW,L,H),SUMBARS(HHH_NEW||LLL_NEW,2)-1)-REF(VALUEWHEN(HHH_NEW||LLL_NEW,IF(LLL_NEW,L,H))-REF(IF(LLL_NEW,L,H),SUMBARS(HHH_NEW||LLL_NEW,2)-1),SUMBARS(HHH_NEW||LLL_NEW,1));

1. 文华指标公式大全
2. 文华wh6指标源码分享
3. 多空波段类指标大集合
4. 缠论指标源码分享

点它,分享点赞在看都在这里

记得点个赞
夜雨聆风
