[求助]请老师帮忙把通达信公式转成文华,谢谢 (文华财经)

投资者咨询:[求助]请老师帮忙把通达信公式转成文华,谢谢 (文华财经)
来源:文华财经  日期:2021-1-22 22:48
 老笔:=0;
G:=MA(C,5);
D:=MA(C,10);
HH:=REF(H,5)=HHV(H,11);
LL:=REF(L,5)=LLV(L,11);
FG01:=BACKSET(HH,6)>BACKSET(HH,5);
FD01:=BACKSET(LL,6)>BACKSET(LL,5);
FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,   IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));
FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,   IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));
FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));
FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));
GP:IF(FG0,H,NULL),CIRCLEDOT,COLORCYAN;
DP:IF(FD0,L,NULL),CIRCLEDOT,COLORCYAN;

GQ:=L>REF(H,1) AND DAY<>REF(DAY,1);
DQ:=H<REF(L,1) AND DAY<>REF(DAY,1);
GQL:=REF(L,BARSLAST(GQ));
DQH:=REF(H,BARSLAST(DQ));
FGH:=REF(H,BARSLAST(FG0));
FGL:=REF(L,BARSLAST(FG0));
FGH1:=REF(H,BARSLAST(FG0)+1);
FGL1:=REF(L,BARSLAST(FG0)+1);
FGH2:=REF(H,BARSLAST(FG0)+2);
FGL2:=REF(L,BARSLAST(FG0)+2);

FDH:=REF(H,BARSLAST(FD0));
FDL:=REF(L,BARSLAST(FD0));
FDH1:=REF(H,BARSLAST(FD0)+1);
FDL1:=REF(L,BARSLAST(FD0)+1);
FDH2:=REF(H,BARSLAST(FD0)+2);
FDL2:=REF(L,BARSLAST(FD0)+2);
FGZH:=IF(FGL<=FGL1,FGH2,FGH1);
FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1));
FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1));
FDZL:=IF(FDH>=FDH1,FDL2,FDL1);
FG1:=FGH>FDZH AND FG0;
FD1:=FDL<FGZL AND FD0;
FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;
FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH;
BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1));
BHG:=COUNT(BH0,BARSLAST(FD0));
BHD:=COUNT(BH0,BARSLAST(FG0));
BGQ:=COUNT(GQ,BARSLAST(FD0));
BDQ:=COUNT(DQ,BARSLAST(FG0));
BK0:=IF(BHG>0,BHG+2+老笔,IF(BHD,BHD+2+老笔,3));
BBK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0));
G1X:=(FG AND BARSLAST(FD)>BBK);
D1X:=(FD AND BARSLAST(FG)>BBK);
G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))  OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));
D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X))  OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X)));
G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1)));
D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1)));
G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);
D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1);
G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2));
GPB:IF(G1X,H,NULL),CIRCLEDOT,COLORYELLOW;
DPB:IF(D1X,L,NULL),CIRCLEDOT,COLORYELLOW;
//画线
NN:=G3;
UU:=D3;
DRAWLINE(UU,L,NN, H,COLORLIGHTGREEN),LINETHICK2;
DRAWLINE(NN,H,UU, L,COLORLIGHTGREEN),LINETHICK2;
//标示端点数值
DRAWNUMBER1(G1X ,H*1.002,H,2),COLORRED;
DRAWNUMBER1(D1X ,L,L,2),COLORGRAY;

JD:=IF(PERIOD=0,1.5,IF(PERIOD=1,3,IF(PERIOD=14,2.5,IF(PERIOD=2,4,IF(PERIOD=3,6,IF(PERIOD=4,8,IF(PERIOD=5,12,IF(PERIOD=6,12,IF(PERIOD=8,10,15)))))))));
L5:=JD/100;
//前低支撑
TSUM1:=COUNT(D1X AND L2=L AND L<=CONST(REF(C,1)) AND L>=CONST(REF(L,1))*(1-L5),0);
T1:=IF(TSUM1>0, SUMBARS(D1X AND L2=L AND L<CONST(REF(C,1))AND L>=CONST(REF(L,1))*(1-L5),1)-1,NULL);
T2:=IF(TSUM1>=2,SUMBARS(D1X AND L2=L AND L<CONST(REF(C,1))AND L>=CONST(REF(L,1))*(1-L5),2)-1,NULL);

//前低压力
TSUM2:=COUNT(D1X AND L>CONST(REF(C,1)) AND L<=CONST(REF(H,1))*(1+L5),0);
TT4:=IF(TSUM2>0, SUMBARS(D1X AND L2=L AND L>CONST(REF(C,1)) AND L<=CONST(REF(H,1))*(1+L5),1)-1,NULL);
TT5:=IF(TSUM2>=2,SUMBARS(D1X AND L2=L AND L>CONST(REF(C,1)) AND L<=CONST(REF(H,1))*(1+L5),2)-1,NULL);
QQ4:=EXIST(CROSS(L1,CONST(REF(L,TT4))),TT4-1);
QQ5:=EXIST(CROSS(L1,CONST(REF(L,TT5))),TT5-1);
QQ6:=EXIST(CROSS(L1,CONST(REF(L,TT6))),TT6-1);
T4:=IF(QQ4=0,TT4,IF(QQ5=0,TT5,IF(QQ6=0,TT6,NULL)));
T5:=IF(TSUM2>=2,SUMBARS(D1X AND L2=L AND L>CONST(REF(C,1)) AND L<=CONST(REF(H,1))*(1+L5),2)-1,NULL);
T6:=IF(TSUM2>=3,SUMBARS(D1X AND L2=L AND L>CONST(REF(C,1)) AND L<=CONST(REF(H,1))*(1+L5),3)-1,NULL);
TG1:=REF(L,T1);
TG2:=REF(L,T2);
TG3:=REF(L,T3);
TG4:=REF(L,T4);
TG5:=REF(L,T5);
TG6:=REF(L,T6);

IF(CURRBARSCOUNT<=CONST(T1)+1,CONST(TG1),NULL),COLORCYAN,LINETHICK2;
IF(CURRBARSCOUNT<=CONST(T4)+1,CONST(TG4),NULL),COLORCYAN,LINETHICK2;

技术人员回复
日期:2021-1-22 22:58
1楼源码有残缺部分,给您删除了,其余参考:

老笔:=0;
CURRBARSCOUNT:=REFX1(BARPOS,10000)-BARPOS+1,NODRAW;
G:=MA(C,5);
D:=MA(C,10);
HH:=REF(H,5)=HHV(H,11);
LL:=REF(L,5)=LLV(L,11);
FG01:=BACKSET(HH,6)>BACKSET(HH,5);
FD01:=BACKSET(LL,6)>BACKSET(LL,5);
FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,   IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));
FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,   IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));
FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));
FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));
GP:IF(FG0,H,NULL),CIRCLEDOT,COLORCYAN;
DP:IF(FD0,L,NULL),CIRCLEDOT,COLORCYAN;

GQ:=L>REF(H,1) AND DAY<>REF(DAY,1);
DQ:=H<REF(L,1) AND DAY<>REF(DAY,1);
GQL:=REF(L,BARSLAST(GQ));
DQH:=REF(H,BARSLAST(DQ));
FGH:=REF(H,BARSLAST(FG0));
FGL:=REF(L,BARSLAST(FG0));
FGH1:=REF(H,BARSLAST(FG0)+1);
FGL1:=REF(L,BARSLAST(FG0)+1);
FGH2:=REF(H,BARSLAST(FG0)+2);
FGL2:=REF(L,BARSLAST(FG0)+2);

FDH:=REF(H,BARSLAST(FD0));
FDL:=REF(L,BARSLAST(FD0));
FDH1:=REF(H,BARSLAST(FD0)+1);
FDL1:=REF(L,BARSLAST(FD0)+1);
FDH2:=REF(H,BARSLAST(FD0)+2);
FDL2:=REF(L,BARSLAST(FD0)+2);
FGZH:=IF(FGL<=FGL1,FGH2,FGH1);
FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1));
FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1));
FDZL:=IF(FDH>=FDH1,FDL2,FDL1);
FG1:=FGH>FDZH AND FG0;
FD1:=FDL<FGZL AND FD0;
FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;
FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH;
BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1));
BHG:=COUNT(BH0,BARSLAST(FD0));
BHD:=COUNT(BH0,BARSLAST(FG0));
BGQ:=COUNT(GQ,BARSLAST(FD0));
BDQ:=COUNT(DQ,BARSLAST(FG0));
BK0:=IF(BHG>0,BHG+2+老笔,IF(BHD,BHD+2+老笔,3));
BBK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0));
G1X:=(FG AND BARSLAST(FD)>BBK);
D1X:=(FD AND BARSLAST(FG)>BBK);
G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))  OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));
D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X))  OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X)));
G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1)));
D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1)));
G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);
D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1);
G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2));
GPB:IF(G1X,H,NULL),CIRCLEDOT,COLORYELLOW;
DPB:IF(D1X,L,NULL),CIRCLEDOT,COLORYELLOW;
//画线
NN:=G3;
UU:=D3;



DRAWLINE1(CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5),L,CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5), H,0),LINETHICK2;
DRAWLINE1(CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5),H,CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5), L,0),LINETHICK2;
//标示端点数值
DRAWNUMBER1(G1X ,H*1.002,H,2),COLORRED;
DRAWNUMBER1(D1X ,L,L,2),COLORGRAY;

投资者咨询:[求助]请老师帮忙把通达信公式转成文华,谢谢 (文华财经)
来源:文华财经  日期:2021-1-22 22:48
 不行,画线还是出不来
技术人员回复
日期:2021-1-23 8:38
参考:

老笔:=0;
CURRBARSCOUNT:=REFX1(BARPOS,10000)-BARPOS+1,NODRAW;
G:=MA(C,5);
D:=MA(C,10);
HH:=REF(H,5)=HHV(H,11);
LL:=REF(L,5)=LLV(L,11);
FG01:=BACKSET(HH,6)>BACKSET(HH,5);
FD01:=BACKSET(LL,6)>BACKSET(LL,5);
FG02:=IFELSE(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,
IFELSE(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));
FD02:=IFELSE(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,
IFELSE(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));
FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));
FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));
GQ:=L>REF(H,1) AND DAY<>REF(DAY,1);
DQ:=H<REF(L,1) AND DAY<>REF(DAY,1);
FGH:=REF(H,BARSLAST(FG0));
FGL:=REF(L,BARSLAST(FG0));
FGH1:=REF(H,BARSLAST(FG0)+1);
FGL1:=REF(L,BARSLAST(FG0)+1);
FGH2:=REF(H,BARSLAST(FG0)+2);
FGL2:=REF(L,BARSLAST(FG0)+2);
FDH:=REF(H,BARSLAST(FD0));
FDL:=REF(L,BARSLAST(FD0));
FDH1:=REF(H,BARSLAST(FD0)+1);
FDL1:=REF(L,BARSLAST(FD0)+1);
FDH2:=REF(H,BARSLAST(FD0)+2);
FDL2:=REF(L,BARSLAST(FD0)+2);
FGZL:=IFELSE(FGH1<FGL,FGL,IFELSE(FGL<=FGL1,FGL2,FGL1));
FDZH:=IFELSE(FDL1>FDH,FDH,IFELSE(FDH>=FDH1,FDH2,FDH1));
FG1:=FGH>FDZH AND FG0;
FD1:=FDL<FGZL AND FD0;
FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;
FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH;
BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1));
BHG:=COUNT(BH0,BARSLAST(FD0));
BHD:=COUNT(BH0,BARSLAST(FG0));
BGQ:=COUNT(GQ,BARSLAST(FD0));
BDQ:=COUNT(DQ,BARSLAST(FG0));
BK0:=IFELSE(BHG>0,BHG+2,IFELSE(BHD,BHD+2,3));
BK1:=IFELSE(BGQ,BK0-BGQ,IFELSE(BDQ,BK0-BDQ,BK0));
G1X:=(FG AND BARSLAST(FD)>BK1);
D1X:=(FD AND BARSLAST(FG)<BK1);
G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))
OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));
D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X))
OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X)));
G1H:=IFELSE(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1)));
D1L:=IFELSE(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1)));
G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);
D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1);
G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2));
GPB:=IFELSE(G1X,H,NULL),CIRCLEDOT,COLORYELLOW;
DPB:=IFELSE(D1X,L,NULL),CIRCLEDOT,COLORYELLOW;
NN:=G3;
UU:=D3;
DRAWLINE1(CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5),L,CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5), H,0),LINETHICK2;
DRAWLINE1(CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5),H,CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5), L,0),LINETHICK2;
DRAWLINE1(UU,L,NN,H,0),COLORYELLOW,DOT;
DRAWLINE1(NN,H,UU,L,0),COLORWHITE,DOT;
//标示端点数值
DRAWNUMBER1(G1X ,H*1.002,H,2),COLORRED;
DRAWNUMBER1(D1X ,L,L,2),COLORGRAY;

投资者咨询:[求助]请老师帮忙把通达信公式转成文华,谢谢 (文华财经)
来源:文华财经  日期:2021-1-22 22:48
 请老师把转折处的圆点加上。谢谢老师!
技术人员回复
日期:2021-1-23 11:28
参考:

 参考:

老笔:=0;
CURRBARSCOUNT:=REFX1(BARPOS,10000)-BARPOS+1,NODRAW;
G:=MA(C,5);
D:=MA(C,10);
HH:=REF(H,5)=HHV(H,11);
LL:=REF(L,5)=LLV(L,11);
FG01:=BACKSET(HH,6)>BACKSET(HH,5);
FD01:=BACKSET(LL,6)>BACKSET(LL,5);
FG02:=IFELSE(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,
IFELSE(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));
FD02:=IFELSE(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,
IFELSE(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));
FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));
FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));
GQ:=L>REF(H,1) AND DAY<>REF(DAY,1);
DQ:=H<REF(L,1) AND DAY<>REF(DAY,1);
FGH:=REF(H,BARSLAST(FG0));
FGL:=REF(L,BARSLAST(FG0));
FGH1:=REF(H,BARSLAST(FG0)+1);
FGL1:=REF(L,BARSLAST(FG0)+1);
FGH2:=REF(H,BARSLAST(FG0)+2);
FGL2:=REF(L,BARSLAST(FG0)+2);
FDH:=REF(H,BARSLAST(FD0));
FDL:=REF(L,BARSLAST(FD0));
FDH1:=REF(H,BARSLAST(FD0)+1);
FDL1:=REF(L,BARSLAST(FD0)+1);
FDH2:=REF(H,BARSLAST(FD0)+2);
FDL2:=REF(L,BARSLAST(FD0)+2);
FGZL:=IFELSE(FGH1<FGL,FGL,IFELSE(FGL<=FGL1,FGL2,FGL1));
FDZH:=IFELSE(FDL1>FDH,FDH,IFELSE(FDH>=FDH1,FDH2,FDH1));
FG1:=FGH>FDZH AND FG0;
FD1:=FDL<FGZL AND FD0;
FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;
FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH;
BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1));
BHG:=COUNT(BH0,BARSLAST(FD0));
BHD:=COUNT(BH0,BARSLAST(FG0));
BGQ:=COUNT(GQ,BARSLAST(FD0));
BDQ:=COUNT(DQ,BARSLAST(FG0));
BK0:=IFELSE(BHG>0,BHG+2,IFELSE(BHD,BHD+2,3));
BK1:=IFELSE(BGQ,BK0-BGQ,IFELSE(BDQ,BK0-BDQ,BK0));
G1X:=(FG AND BARSLAST(FD)>BK1);
D1X:=(FD AND BARSLAST(FG)<BK1);
G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))
OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));
D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X))
OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X)));
G1H:=IFELSE(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1)));
D1L:=IFELSE(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1)));
G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);
D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1);
G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2));
GPB:=IFELSE(G1X,H,NULL),CIRCLEDOT,COLORYELLOW;
DPB:=IFELSE(D1X,L,NULL),CIRCLEDOT,COLORYELLOW;
NN:=G3;
UU:=D3;
DRAWLINE1(CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5),L,CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5), H,0),LINETHICK2;
DRAWLINE1(CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5),H,CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5), L,0),LINETHICK2;
IF(CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5),L,IF(CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5), H,NULL)),CIRCLEDOT,COLORYELLOW;
//标示端点数值
DRAWNUMBER1(G1X ,H*1.002,H,2),COLORRED;
DRAWNUMBER1(D1X ,L,L,2),COLORGRAY;

投资者咨询:[求助]请老师帮忙把通达信公式转成文华,谢谢 (文华财经)
来源:文华财经  日期:2021-1-22 22:48
 请老师把转折点加上颜色,高点绿色,低点紫色。谢谢老师!
技术人员回复
日期:2021-1-23 13:43
 参考:

老笔:=0;
CURRBARSCOUNT:=REFX1(BARPOS,10000)-BARPOS+1,NODRAW;
G:=MA(C,5);
D:=MA(C,10);
HH:=REF(H,5)=HHV(H,11);
LL:=REF(L,5)=LLV(L,11);
FG01:=BACKSET(HH,6)>BACKSET(HH,5);
FD01:=BACKSET(LL,6)>BACKSET(LL,5);
FG02:=IFELSE(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,
IFELSE(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));
FD02:=IFELSE(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,
IFELSE(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));
FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));
FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));
GQ:=L>REF(H,1) AND DAY<>REF(DAY,1);
DQ:=H<REF(L,1) AND DAY<>REF(DAY,1);
FGH:=REF(H,BARSLAST(FG0));
FGL:=REF(L,BARSLAST(FG0));
FGH1:=REF(H,BARSLAST(FG0)+1);
FGL1:=REF(L,BARSLAST(FG0)+1);
FGH2:=REF(H,BARSLAST(FG0)+2);
FGL2:=REF(L,BARSLAST(FG0)+2);
FDH:=REF(H,BARSLAST(FD0));
FDL:=REF(L,BARSLAST(FD0));
FDH1:=REF(H,BARSLAST(FD0)+1);
FDL1:=REF(L,BARSLAST(FD0)+1);
FDH2:=REF(H,BARSLAST(FD0)+2);
FDL2:=REF(L,BARSLAST(FD0)+2);
FGZL:=IFELSE(FGH1<FGL,FGL,IFELSE(FGL<=FGL1,FGL2,FGL1));
FDZH:=IFELSE(FDL1>FDH,FDH,IFELSE(FDH>=FDH1,FDH2,FDH1));
FG1:=FGH>FDZH AND FG0;
FD1:=FDL<FGZL AND FD0;
FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;
FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH;
BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1));
BHG:=COUNT(BH0,BARSLAST(FD0));
BHD:=COUNT(BH0,BARSLAST(FG0));
BGQ:=COUNT(GQ,BARSLAST(FD0));
BDQ:=COUNT(DQ,BARSLAST(FG0));
BK0:=IFELSE(BHG>0,BHG+2,IFELSE(BHD,BHD+2,3));
BK1:=IFELSE(BGQ,BK0-BGQ,IFELSE(BDQ,BK0-BDQ,BK0));
G1X:=(FG AND BARSLAST(FD)>BK1);
D1X:=(FD AND BARSLAST(FG)<BK1);
G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))
OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));
D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X))
OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X)));
G1H:=IFELSE(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1)));
D1L:=IFELSE(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1)));
G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);
D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1);
G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2));
GPB:=IFELSE(G1X,H,NULL),CIRCLEDOT,COLORYELLOW;
DPB:=IFELSE(D1X,L,NULL),CIRCLEDOT,COLORYELLOW;
NN:=G3;
UU:=D3;
DRAWLINE1(CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5),L,CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5), H,0),LINETHICK2;
DRAWLINE1(CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5),H,CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5), L,0),LINETHICK2;
IF(CROSS(BACKSET(NN,BARSLAST(UU)+1),0.5),L,NULL),CIRCLEDOT,COLORMAGENTA;
IF(CROSS(BACKSET(UU,BARSLAST(NN)+1),0.5), H,NULL),CIRCLEDOT,COLORGREEN;
//标示端点数值
DRAWNUMBER1(G1X ,H*1.002,H,2),COLORRED;
DRAWNUMBER1(D1X ,L,L,2),COLORGRAY;