# 富途牛牛 缠论指标 ![](https://100w123.com/_extern/wiki/sp221001_113124.png?1200) N1:=10; N2:=10; DISP:=2; K:=1/10; P1:=PEAK(1,K*N1,1); P2:=PEAK(1,K*N1,2); WP1:=PEAKBARS(1,K*N1,1); WP2:=PEAKBARS(1,K*N1,2); T1:=TROUGH(2,K*N2,1); T2:=TROUGH(2,K*N2,2); WT1:=TROUGHBARS(2,K*N2,1); WT2:=TROUGHBARS(2,K*N2,2); TJ1:=P1>T1 AND P2>T2 ; ZD:=MAX(T1,T2); ZG:=MIN(P1,P2); LL:=MIN(T1,T2); HH:=MAX(P1,P2); TJ2:=FILTER(ZG>ZD,10); TJ3:=ZG=REF(ZG,BARSLAST(TJ2)-1) OR ZD=REF(ZD,BARSLAST(TJ2)-1); TJ4:=TJ1 AND TJ2; {TJ4:=TJ1 AND TJ2 OR NOT(TJ3);} UPBOUND1:=MAX(REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)))+0.000001; DOWNBOUND1:=MIN(REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)))-0.00001; TJ5:=BETWEEN(ZD,DOWNBOUND1,UPBOUND1); TJ6:=BETWEEN(ZG,DOWNBOUND1,UPBOUND1); TJ7:=ZG>REF(ZG,REF(BARSLAST(TJ4),1))AND ZDREF(HHV(H,4),1),4); LOCAL_HIGH_PREB:=BACKSET(LOCAL_HIGH_PREA=0 AND REF(LOCAL_HIGH_PREA,1)=1,2); LOCAL_HIGH_PREC:=IF(LOCAL_HIGH_PREB=1 AND REF(LOCAL_HIGH_PREB,1)=0,1,0); GAP_CHECK:=IF(L>REF(H,1),1,IF(HREF(PERIOD_PRELOW,1) AND LLV(L,PERIOD_PREHIGH+1)=4 OR GAP_CHECK_RECORDAB=-1 OR LLV(L,PERIOD_PRELOW+2)REF(SMALLVAL_PERIOD,PERIOD_PRELOW+1) AND BIGVAL_PERIOD>REF(SMALLVAL_PERIOD,PERIOD_PRELOW) AND BIGVAL_PERIOD>REF(BIGVAL_PERIOD,PERIOD_PREHIGH),1,0); HIGHSAVE_A:=IF(LOCAL_HIGH_PREC=1 AND REF(PERIOD_PRELOW,1)>REF(PERIOD_PREHIGH,1) AND HHV(H,PERIOD_PRELOW+1)>REF(HHV(H,PERIOD_PRELOW+1),1),1,0); HIGHSAVE_B:=IF(LOCAL_HIGH_PREC=1 AND REF(PERIOD_PRELOW,1)<=REF(PERIOD_PREHIGH,1) AND REF(LOWSAVE_S,PERIOD_PRELOW)=-1 AND (PERIOD_PRELOW>=4 OR GAP_CHECK_RECORD=1),1,0); HIGHSAVE:=IF((HIGHSAVE_A=1 OR HIGHSAVE_B=1 OR REAL_CHECK=1) AND H>REF(L,PERIOD_PRELOW+1),1,0); GAP_CHECK_RECORDA:=IF(PERIOD_PREHIGH=0,1,HHV(GAP_CHECK,PERIOD_PREHIGH)); PRECHECKA:=IF((PERIOD_PREHIGH<4 AND GAP_CHECK_RECORDA!=1) OR REF(HIGHSAVE,PERIOD_PREHIGH)=0,1,0); REAL_CHECKA:=IF(LOCAL_LOW_PREC=-1 AND REF(PERIOD_PREHIGH,1)<=REF(PERIOD_PRELOW,1) AND PRECHECKA=1 AND SMALLVAL_PERIOD>REF(BIGVAL_PERIOD,PERIOD_PREHIGH+1) AND SMALLVAL_PERIOD>REF(BIGVAL_PERIOD,PERIOD_PREHIGH) AND SMALLVAL_PERIOD>REF(SMALLVAL_PERIOD,PERIOD_PRELOW),-1,0); LOWSAVEA:=IF(LOCAL_LOW_PREC=-1 AND REF(PERIOD_PREHIGH,1)>REF(PERIOD_PRELOW,1) AND LLV(L,PERIOD_PREHIGH+1)=4 OR GAP_CHECK_RECORDA=-1 OR REAL_CHECKA=-1),-1,0); LOWSAVE:=IF((LOWSAVEA=-1 OR LOWSAVEB=-1) AND LREF(SMALLVAL_PERIOD,PERIOD_PRELOWA+1) AND BIGVAL_PERIOD>REF(SMALLVAL_PERIOD,PERIOD_PRELOWA) AND BIGVAL_PERIOD>REF(BIGVAL_PERIOD,PERIOD_PREHIGHA),1,0); HIGHSAVEXA:=IF(LOCAL_HIGH_PREC=1 AND REF(PERIOD_PRELOWA,1)>REF(PERIOD_PREHIGHA,1) AND HHV(H,PERIOD_PRELOWA+1)>REF(HHV(H,PERIOD_PRELOWA+1),1),1,0); HIGHSAVEXB:=IF(LOCAL_HIGH_PREC=1 AND REF(PERIOD_PRELOWA,1)<=REF(PERIOD_PREHIGHA,1) AND REF(LOWSAVE,PERIOD_PRELOWA)=-1 AND (PERIOD_PRELOWA>=4 OR GAP_CHECK_RECORDX=1),1,0); HIGHSAVEX:=IF((HIGHSAVEXA=1 OR HIGHSAVEXB=1 OR REAL_CHECKX=1) AND H>REF(L,PERIOD_PRELOWA+1),1,0); GAP_CHECK_RECORDXA:=IF(PERIOD_PREHIGHA=0,1,HHV(GAP_CHECK,PERIOD_PREHIGHA)); PRECHECKXA:=IF((PERIOD_PREHIGHA<4 AND GAP_CHECK_RECORDXA!=1) OR REF(HIGHSAVEXA,PERIOD_PREHIGHA)=0,1,0); REAL_CHECKXA:=IF(LOCAL_LOW_PREC=-1 AND REF(PERIOD_PREHIGHA,1)<=REF(PERIOD_PRELOWA,1) AND PRECHECKXA=1 AND SMALLVAL_PERIOD>REF(BIGVAL_PERIOD,PERIOD_PREHIGHA+1) AND SMALLVAL_PERIOD>REF(BIGVAL_PERIOD,PERIOD_PREHIGHA) AND SMALLVAL_PERIOD>REF(SMALLVAL_PERIOD,PERIOD_PRELOWA),-1,0); LOWSAVEXA:=IF(LOCAL_LOW_PREC=-1 AND REF(PERIOD_PREHIGHA,1)>REF(PERIOD_PRELOWA,1) AND LLV(L,PERIOD_PREHIGHA+1)=4 OR GAP_CHECK_RECORDXB=-1 OR REAL_CHECKXA=-1),-1,0); LOWSAVEX:=IF((LOWSAVEXA=-1 OR LOWSAVEXB=-1) AND LREF(SMALLVAL_PERIOD,PD_PRELOWYA+1) AND BIGVAL_PERIOD>REF(SMALLVAL_PERIOD,PD_PRELOWYA) AND BIGVAL_PERIOD>REF(BIGVAL_PERIOD,PD_PREHIGHYA),1,0); HIGHSAVEYXA:=IF(LOCAL_HIGH_PREC=1 AND REF(PD_PRELOWYA,1)>REF(PD_PREHIGHYA,1) AND HHV(H,PD_PRELOWYA+1)>REF(HHV(H,PD_PRELOWYA+1),1),1,0); HIGHSAVEYXB:=IF(LOCAL_HIGH_PREC=1 AND REF(PD_PRELOWYA,1)<=REF(PD_PREHIGHYA,1) AND REF(LOWSAVEX,PD_PRELOWYA)=-1 AND (PD_PRELOWYA>=4 OR GAP_CHECK_RECORDYX=1),1,0); HIGHSAVEYX:=IF((HIGHSAVEYXA=1 OR HIGHSAVEYXB=1 OR REAL_CHECKYX=1) AND H>REF(L,PD_PRELOWYA+1),1,0); GAP_CHECK_RECORDYXA:=IF(PD_PREHIGHYA=0,1,HHV(GAP_CHECK,PD_PREHIGHYA)); PRECHECKYXA:=IF((PD_PREHIGHYA<4 AND GAP_CHECK_RECORDYXA!=1) OR REF(HIGHSAVEYXA,PD_PREHIGHYA)=0,1,0); REAL_CHECKYXA:=IF(LOCAL_LOW_PREC=-1 AND REF(PD_PREHIGHYA,1)<=REF(PD_PRELOWYA,1) AND PRECHECKYXA=1 AND SMALLVAL_PERIOD>REF(BIGVAL_PERIOD,PD_PREHIGHYA+1) AND SMALLVAL_PERIOD>REF(BIGVAL_PERIOD,PD_PREHIGHYA) AND SMALLVAL_PERIOD>REF(SMALLVAL_PERIOD,PD_PRELOWYA),-1,0); LOWSAVEYXA:=IF(LOCAL_LOW_PREC=-1 AND REF(PD_PREHIGHYA,1)>REF(PD_PRELOWYA,1) AND LLV(L,PD_PREHIGHYA+1)=4 OR GAP_CHECK_RECORDYXB=-1 OR REAL_CHECKYXA=-1),-1,0); LOWSAVEYX:=IF((LOWSAVEYXA=-1 OR LOWSAVEYXB=-1) AND LREF(H,REF(PD_PREHIGHYA,1)+2),1,IF(HIGHSAVEYX=1 AND LOWSAVEYX=-1 AND L