老师麻烦问一下有没有未来函数

 M:=5;//M值需要大于等于5

G:=MA(C,5);
D:=MA(C,10);
NNH:=BARSLAST(H=HHV(H,M)) ,NODRAW;
NNL:=BARSLAST(L=LLV(L,M)) ,NODRAW;
NNY:=IF(REF(G,NNH)>REF(D,NNH) AND NNH
NNN:=IF(ISLASTBAR AND NNY>0,NNY,M-2) ,NODRAW;
H1:=REF(H,NNN)=HHV(H,M-1);
L1:=REF(L,NNN)=LLV(L,M-1);
FG01:=BACKSET(H1,NNN+1)>BACKSET(H1,NNN),NODRAW;//只设置前面第M-1个
FD01:=BACKSET(L1,NNN+1)>BACKSET(L1,NNN) ,NODRAW;
FG02:=FG01=FD01 AND G>D,NODRAW;
FD02:=FG01=FD01 AND G
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)REF(L,REF(DT,1)+1),NODRAW;
FG1:=BACKSET(REFX(GT,1)=0 AND GT
=REF(H,GT),GT+1),NODRAW;
FD1:=BACKSET(REFX(DT,1)=0 AND DT
FG11:=IF(GT=0 AND REF(GT,1)
REF(D,BARSLAST(L=LLV(L,M))),BARSLAST(L=LLV(L,M))
FD11:=IF(DT=0 AND REF(DT,1)REF(L,REF(DT,1)+1),1,0),NODRAW;
//再次周期
GT1:=BARSLAST(FG111 AND FG11 AND FG0),NODRAW;
DT1:=BARSLAST(FD111 AND FD11 AND FD0),NODRAW;
FD2:=BACKSET(REFX(GT1,1)=0 AND DT1LLV(L,GT1+M-2),DT1+1),NODRAW;
FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1HHV(H,GT1+M-2),GT1+1),NODRAW;
FG2B:=IF(GT1=0 AND DT1HHV(H,REF(GT1,1)+M-1),1,0),NODRAW;
FG2:=BACKSET(REFX(DT1,1)=0 AND GT1




FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1=HHV(L,DT1+M-2) AND REF(L,DT1)>LLV(L,DT1+M-2),DT1+1),NODRAW;
FD2B:=IF(DT1=0 AND GT1=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+M-1),1,0),NODRAW;
TTTTTT:= H
HHHHHH:=REF(LLV(L,10),DT1),NODRAW;
//前长后短;
FG21:=IF(GT1=0 AND DT1
FD21:=IF(DT1=0 AND GT1=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;
//前短后长,前低后高(去低);
FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1REF(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-DT1REF(H,GT1) AND (REF(H,GT1)
//前短后长,去2;
FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1
FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW;
//前短后长,去3;
FDD23:=REF(H,GT1)
FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1LLV(L,DT1+5),DT1+1),NODRAW;
FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1LLV(L,DT1+3) AND REF(H,GT1)
//做两次高低点间多余的点
GT2:=BARSLAST(FG211 AND FG231 AND FG2311 AND FG241 AND FG21 AND FG2A1 AND FG2B1 AND GT1=0),NODRAW;
DT2:=BARSLAST(FD211 AND FD231 AND FD2311 AND FD241 AND FD21 AND FD2A1 AND FD2B1 AND DT1=0),NODRAW;
FG3:=BACKSET(REFX(GT2,1)=0 AND GT2=REF(H,GT2),GT2+1),NODRAW;
FD3:=BACKSET(REFX(DT2,1)=0 AND DT2
FG31:=IF(GT2=0 AND REF(GT2,1)
FD31:=IF(DT2=0 AND REF(DT2,1)REF(L,REF(DT2,1)+1),1,0),NODRAW;


GT3:=BARSLAST(GT2=0 AND FG31 AND FG311 ),NODRAW;
DT3:=BARSLAST(DT2=0 AND FD31 AND FD311),NODRAW;
FG4:=BACKSET(REFX(GT3,1)=0 AND GT3=REF(H,GT3),GT3+1),NODRAW;
FD4:=BACKSET(REFX(DT3,1)=0 AND DT3
FG41:=IF(GT3=0 AND REF(GT3,1)
FD41:=IF(DT3=0 AND REF(DT3,1)REF(L,REF(DT3,1)+1),1,0),NODRAW;
HHH:=GT3=0 AND FG311 AND FG31,NODRAW;
LLL:=DT3=0 AND FD311 AND FD31,NODRAW;





//最后一段画线
N1:=BARSLAST(HHH)+1;
NY2:=BARSLAST(LLL)+1;
TJX1:=BARSLAST(HHH)+1>=5,NODRAW;
TJX2:=BARSLAST(LLL)+1>=5,NODRAW;

DRAWTEXT(HHH&&TJX2,H,’空’),COLORWHITE,COLORWHITE,COLORGREEN;
DRAWTEXT(LLL&&TJX1,L,’多’),VALIGN0;

MM1:=SUMBARS(HHH&&TJX2,1);
MM2:=SUMBARS(LLL&&TJX1,1);
DRAWCOLORKLINE(MM1>MM2&&ISUP=1,COLORRED,1);
DRAWCOLORKLINE(MM1>MM2&&ISUP=0,COLORRED,0);
DRAWCOLORKLINE(MM1
DRAWCOLORKLINE(MM1

(来源:文华财经)

领主 管理员

热门评论
:
该帖子评论已关闭
图片审查中...
编辑答案: 我的回答: 最多上传一张图片和一个附件
x
x
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索