{============================================================} { KDJ VOL V3.1 - B/S高对比版 } { [B?]=买入观察,[B]=买入确认;[S?]=下跌观察,[S]=下跌确认 } { 仅借用缠论视觉标记,不代表严格缠论一二三买卖点 } { 只使用当前及历史K线,不使用未来函数 } { 默认参数仅按日K设计;周K和分钟K不能直接套用 } {============================================================} {一、参数} N:=21; COOL_DOT:=5; COOL_BUY:=8; COOL_TOP:=5; COOL_SELL:=8; RECENT_N:=12; VOL_MIN:=0.90; {二、KDJ位置与拐点} RANGE_N:=MAX(HHV(H,N)-LLV(L,N),0.01); RSV:=(C-LLV(L,N))/RANGE_N*100; K_VAL:=SMA(RSV,3,1); D_VAL:=SMA(K_VAL,3,1); J_VAL:=3*K_VAL-2*D_VAL; J_SAFE:=MAX(MIN(J_VAL,110),-10); {三、量价资金代理;不是交易所披露的真实主力资金} BAR_RANGE:=MAX(H-L,0.01); MFM:=((C-L)-(H-C))/BAR_RANGE; RVOL_RAW:=V/MAX(MA(V,20),1); RVOL_CAP:=MIN(RVOL_RAW,2.50); FLOW:=EMA(MFM*RVOL_CAP*100,5); {四、零轴动能;限制极端J值和异常量比对柱体的冲击} POWER:=EMA((J_SAFE-50)*0.70+FLOW*0.30,3); POWER_MA:=EMA(POWER,5); {五、柱体显示} DOWN_POWER:IF(POWER<0,POWER,0),STICK,COLORCYAN; RECOVERING:IF(POWER<0 AND POWER>REF(POWER,1),POWER,0),STICK,COLORWHITE; UP_POWER:IF(POWER>=0,POWER,0),STICK,COLORRED; SIGNAL_LINE:POWER_MA,COLORYELLOW,LINETHICK2; ZERO_LINE:0,DOTLINE,COLORGRAY; {六、白点信号:仍在超跌区内,只代表衰竭预警} OVERSOLD:=J_VAL<15 OR K_VAL<20; EXHAUST:=POWER<0 AND POWER>REF(POWER,1) AND REF(POWER,1)<=REF(POWER,2); J_TURN:=J_VAL>REF(J_VAL,1); PRICE_TURN:=C>REF(C,1) AND C>=L+(H-L)*0.55; DOT_RAW:=OVERSOLD AND EXHAUST AND J_TURN AND PRICE_TURN; WHITE_DOT:=FILTER(DOT_RAW,COOL_DOT); {七、笑脸严格确认:超跌后金叉,并通过趋势、突破、量能门槛} EMA5_VAL:=EMA(C,5); EMA20_VAL:=EMA(C,20); RECENT_OVERSOLD:=BARSLAST(OVERSOLD)<=RECENT_N; KDJ_GOLD:=CROSS(K_VAL,D_VAL) AND K_VAL<55; PRICE_REPAIR:=C>EMA5_VAL AND C>REF(H,1) AND C>O; TREND_REPAIR:=EMA20_VAL>REF(EMA20_VAL,1); MOMENTUM_REPAIR:=POWER>REF(POWER,1); VOLUME_OK:=RVOL_RAW>VOL_MIN; CONFIRM_RAW:=RECENT_OVERSOLD AND KDJ_GOLD AND PRICE_REPAIR AND TREND_REPAIR AND MOMENTUM_REPAIR AND VOLUME_OK; BUY_CONFIRM:=FILTER(CONFIRM_RAW,COOL_BUY); {八、下跌侧:高位衰竭观察与转弱确认} OVERBOUGHT:=J_VAL>85 OR K_VAL>80; RECENT_OVERBOUGHT:=BARSLAST(OVERBOUGHT)<=RECENT_N; KDJ_DEAD:=CROSS(D_VAL,K_VAL) AND K_VAL>45; TOP_RAW:=RECENT_OVERBOUGHT AND KDJ_DEAD AND C