我的KDJ改良公式:告别超买区假信号 —— 把J值做平滑处理,再加一层趋势确认

【风险提示】 本文仅为通达信公式编程与技术分析的学习笔记,不指向任何个股,不构成投资建议。股市有风险,入市需谨慎。
2020年我靠KDJ的金叉死叉做短线,一个月亏了15%。后来发现J值天天在超买超卖区来回跳,噪音太大。给J值加了个3日平滑,信号立刻安静下来,该出的出,该留的留。

一、原版源码拆解

网上最常见的写法:CROSS(K,D) AND J<20;

主要问题有:

① J值未做平滑,极端值导致频繁假信号
② 只看超卖区金叉,不确认趋势方向
③ K、D周期固定9,不适应不同波动率的票

二、优化版源码(可直接复制)

下面是我改完的版本,每一行都有改动的理由

{优化版:平滑KDJ·趋势确认版}

{— 自定义RSV周期 —}

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值平滑(3日EMA) —}

J平滑:=EMA(J,3);

{— 超卖区定义 —}

超卖:=J平滑<20;

{— 金叉确认 —}

金叉:=CROSS(K,D);

{— 趋势确认:价格在20日线上 —}

趋势向上:=C>MA(C,20);

{— 综合选股 —}

XG:

超卖

AND 金叉

AND 趋势向上;

三、这次改了什么?

无未来函数核查:已确认本代码不含 ZIG / PEAK / TROUGH / BACKSET / REFX 等函数。

核心优化:
1. J值做3日EMA平滑,消除单日极端跳变;
2. 只在超卖区(J<20)触发,不买高位金叉;
3. 叠加20日线趋势过滤,确保顺大势;
【编者手记】 KDJ最坑的地方在于J值可以跑到100以上或0以下,导致信号极不稳定。平滑之后,J值变成一个"有记忆"的指标,不会再因为一根K线就改变方向。配合趋势过滤,这是我目前最稳的短线入场条件之一。
【免责声明】本文公式仅供通达信语法学习与历史复盘参考,不构成任何投资建议。股市有风险,决策需谨慎。

相关阅读

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