KDJ低位金叉选股公式:我拆源码时发现"低位"用J小于20一刀切,震荡市全是假信号(附修复版)

风险提示:本文通达信指标公式仅作技术教学与研究使用,不构成任何投资建议。股市有风险,入市需谨慎,不可直接依据公式信号交易。

拆这个公式时,我停在了第4行:J<20。这行代码的意思是"J值小于20就算低位"。听起来很合理对吧?但KDJ的J值在震荡市里,一天可以上下穿越20好几次。更离谱的是,J值可以变成负数——如果J=-5也算"低位金叉",你敢买吗?

先给结论,再讲道理:"KDJ低位金叉"最大的坑在于"低位"没有统一定义。有人用J<20,有人用J<10,有人用K<20。更关键的是,KDJ是"快指标",在震荡市里极度敏感,金叉信号一天出好几次,全是噪音。原版公式用J<20硬编码,是典型的"参数僵化"型坑。

一、原版源码长这样

RSV:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
低位:=J<20;
金叉:=CROSS(K,D);
选股:低位 AND 金叉;

源码用J<20定义低位,K上穿D定义金叉,简单直接但问题不少。

二、公式体检评分表

以下为基于源码逻辑的主观结构评分,未经历史数据验证,仅作拆解参考。

评分项得分说明
语法完整性95通达信可运行,无语法错误
逻辑完整度45J<20硬编码,震荡市假信号泛滥,无趋势过滤
信号可用性40震荡市天天触发,高位钝化区也入选

系列编号:本文为「1000个公式拆解」系列 · KDJ系 · 第 7 篇(7/1000)。

三、问题一:J<20 在震荡市天天触发

震荡市里股价上下波动,RSV值反复穿越区间底部,J值一天之内可以从15跳到25再回到18。每次穿越都产生一个"金叉"信号,但股价根本没动多少。这种信号毫无价值。

四、问题二:J值可以为负,没有下限

在快速下跌中,J值可以跌到-10、-20甚至更低。此时"J<20"持续成立,金叉也会触发,但这是下跌途中的反抽,不是底部。

五、问题三:没有趋势过滤

KDJ金叉发生在下跌趋势中途,往往是短暂的超跌反弹。原版公式完全不看20日线或60日线的方向,容易在下跌途中抄底被套。

六、适用环境

超跌反弹区 ✓ 横盘震荡末期 △ 需结合突破 单边下跌趋势 ✗

七、修复版源码

{=== KDJ低位金叉 · 修复版(通达信可运行)===}
RSV:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
{=== 改动1:自适应低位(J值处于近期最低20%分位)===}
J低位:=J=REF(MA(C,20),5);
{=== 改动4:股价不在近期新低 ===}
非新低:=C>LLV(C,10)*1.03;
{=== 改动5:排除ST及数据不足 ===}
排雷:=NOT(NAMELIKE('ST') OR NAMELIKE('*ST')) AND COUNT(C>0,60)=60;
选股:J低位 AND 金叉 AND 趋势垫 AND 非新低 AND 排雷;

修复思路:用"J值处于近期最低20%分位"替代硬编码J<20,要求20日线走平或向上,且股价不在近期新低。

八、实战操作建议

  • 用法:寻找经过一轮下跌后,KDJ在低位区(J值极低)出现金叉,且20日线开始走平的标的。

  • 确认:金叉后次日若放量阳线,且J值快速回升,可视为有效信号。

  • 止损:金叉后股价再创新低,或J值再度下行跌破前低,应止损。

九、三条启发

启发一:"低位"应该是相对的,不是绝对的。J<20 对高价股和低价股意义不同,要用分位数自适应。

启发二:KDJ是快指标,天生爱"撒谎"。单独用KDJ金叉交易,胜率极低,必须配合趋势过滤。

启发三:J值可以为负。当J<-10时,市场处于极度超卖,但"超卖"不等于"见底",还需要止跌信号。


相关阅读

最近发表
在线客服
QQ:332879389
联系电话
13605084160