文华财经指标wh6公式源码用法:
主图 多空趋势翻转
幅图 减仓 平仓







====================
完整源码 主图
====================
LHS:1,NODRAW;
MA3:=MA(C,170);
HH1:=IF(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IF(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
HH:=HHV(HIGH,1)/10+HHV(HIGH,2)/10+HHV(HIGH,2)/10+HHV(HIGH,4)/10+HHV(HIGH,4)/10+HHV(HIGH,8)/10+HHV(HIGH,8)/10+HHV(HIGH,13)/10+HHV(HIGH,40)/10+HHV(HIGH,20)/10;
LL:=LLV(LOW,1)/10+LLV(LOW,2)/10+LLV(LOW,2)/10+LLV(LOW,4)/10+LLV(LOW,4)/10+LLV(LOW,8)/10+LLV(LOW,8)/10+LLV(LOW,13)/10+LLV(LOW,40)/10+LLV(LOW,20)/10;
H1:=IF(HH<REF(HH,1)&&LL<REF(LL,1)&&REF(OPEN,1)>CLOSE&&OPEN>CLOSE&&(HHV(OPEN,0)-CLOSE)>0,REF(HH,2),0);
L1:=IF(LL>REF(LL,1)&&HH>REF(HH,1)&&REF(OPEN,1)<CLOSE&&OPEN<CLOSE&&(CLOSE-LLV(OPEN,0))>0,REF(LL,2),0);
X:=DATE;
X0:=H1*LHS,LINETHICK2;
X00:=L1;
XXX0:=O*LHS,LINETHICK2;
XXX00:=C;
XXX000:=H;
XXX0000:=L;
H2:=VALUEWHEN(X0>0,X0)*LHS,LINETHICK2;
L2:=VALUEWHEN(X00>0,X00)*LHS,LINETHICK2;
K1:=IF(CLOSE>H2,-3,IF(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
G:=IF(K2=1,H2,L2);
G1:=VALUEWHEN(ISLASTBAR,G);
DRAWNUMBER(L>0,G1,G1,0,COLORCYAN);
DRAWNUMBER(LL>0,G1,G1,0,COLORWHITE),ALIGN0,FONTSIZE30,VALIGN0;
X000:=K2*LHS,LINETHICK2;
TMP:=K2*LHS,LINETHICK2;
W1:=X000*LHS,LINETHICK2;
X0000:=OPEN-CLOSE*LHS,LINETHICK2;
W2:=X0000*LHS,LINETHICK2;
HT:=IF(OPEN>CLOSE,OPEN,CLOSE)*LHS,LINETHICK2;
LT:=IF(OPEN<CLOSE,OPEN,CLOSE)*LHS,LINETHICK2;
DRAWCOLORKLINE(W1>0,COLORCYAN,1);
DRAWCOLORKLINE(W1>0&&ISDOWN,COLORCYAN,0);
DRAWCOLORKLINE(W1<0,COLORRED,1);
DRAWCOLORKLINE(W1<0&&ISDOWN,COLORRED,0);
DRAWLINE(TMP=1&&REF(TMP,1)=1,G,TMP=1&&REF(TMP,1)=1,REF(G,1),1),COLORCYAN,DOT;
DRAWLINE(TMP=-3&&REF(TMP,1)=-3,G,TMP=-3&&REF(TMP,1)=-3,REF(G,1),1),COLORRED,DOT;
DRAWLINE(TMP=1&&REF(TMP,1)=1,G,TMP=1&&REF(TMP,1)=1,REF(G,1),COLORCYAN),DOT;//青色折竖线
DRAWLINE(TMP=-3&&REF(TMP,1)=-3,G,TMP=-3&&REF(TMP,1)=-3,REF(G,1),COLORRED),DOT;//红色折竖线
DRAWSL(K2=1,G,0,1,0,COLORCYAN),DOT;
DRAWSL(K2=-3,G,0,1,0,COLORRED),DOT;
DRAWTEXT(CROSS(TMP,0),HH,'空'),COLORGREEN ;
DRAWTEXT(CROSS(0,TMP),LL,'多') ;
===========幅图源码===================
// 1. 30分钟趋势判断
MA150:=MA(CLOSE, 150);
MA30:=MA(CLOSE, 30);
TR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
DMM:= SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
PDI:= DMP*100/TR;
MDI: =DMM*100/TR;
ADX_VAL: =MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
TREND_DIR:=IF(MA150>REF(MA150,1) AND MA30>MA150 AND ADX_VAL>25, 1,
IF(MA150<REF(MA150,1) AND MA30<MA150 AND ADX_VAL>25, -1, 0));
// 2. 颈线突破信号(双底/顶简化版)
NECKLINE_H:=REF(HHV(H,20),1);
NECKLINE_L:=REF(LLV(L,20),1);
BREAK_UP:=CROSS(C,NECKLINE_H) AND TREND_DIR=1 AND V>REF(MA(V,5),1)*1.5;
BREAK_DN:=CROSS(NECKLINE_L,C) AND TREND_DIR=-1 AND V>REF(MA(V,5),1)*1.5;
// 将突破信号存入全局变量
IF(BREAK_UP,1,IF(BREAK_DN,-1,0));