KDJ 随机指标

这段富途牛牛指标设置编辑器中的代码实现了 KDJ 指标 的计算和可视化, 并通过简单的逻辑绘制了关键水平线。以下是逐行的详细解释:

1
2
3
4
5
6
RSV:=(CLOSE-LLV(LOW,P1))/(HHV(HIGH,P1)-LLV(LOW,P1))*100;
K:SMA(RSV,P2,1),COLORFF8D1E;
D:SMA(K,P3,1),COLOR0CAEE6;
J:3*K-2*D,COLORE970DC;
LINE80:80, COLORRED;
LINE20:20,COLORRED;

代码解析

1. 计算 RSV (Raw Stochastic Value)

1
RSV:=(CLOSE-LLV(LOW,P1))/(HHV(HIGH,P1)-LLV(LOW,P1))*100;
  • 作用: 计算当前价格在最近 P1 周期(通常是 9)的相对位置,取值范围为 0 到 100。
  • 关键函数:
    • CLOSE: 当前收盘价。
    • LOW: 每日最低价。
    • LLV(LOW, P1): 最近 P1 周期的最低价。
    • HIGH: 每日最高价。
    • HHV(HIGH, P1): 最近 P1 周期的最高价。
  • 解释:
    • ( RSV = \frac{(CLOSE - 最低价)}{(最高价 - 最低价)} \times 100 )
    • 描述价格相对于区间的相对位置。例如,RSV 为 80,表示当前价格接近区间高点。

2. 计算 K 线

1
K:SMA(RSV,P2,1),COLORFF8D1E;
  • 作用: 对 RSV 值进行平滑,生成 K 线
  • 关键函数:
    • SMA(X, N, M): 简单移动平均(Simple Moving Average)。
      • ( SMA(X, N, M) = \frac{M \times 当前值 + (N - M) \times 前一次 SMA}{N} )
      • X: 输入值(这里是 RSV)。
      • N: 平滑周期(P2)。
      • M: 权重因子(这里为 1)。
  • 解释:
    • 将 RSV 平滑为一条线,减少波动,代表短期趋势。
    • COLORFF8D1E: 设置线条颜色为橙色。

3. 计算 D 线

1
D:SMA(K,P3,1),COLOR0CAEE6;
  • 作用: 对 K 线 进行二次平滑,生成 D 线
  • 关键函数:
    • SMA 同样适用,但输入变为 K 线
    • D 线 是 K 线的进一步平滑,更能反映趋势。
  • 解释:
    • K 和 D 线结合,生成交叉信号。
    • COLOR0CAEE6: 设置线条颜色为蓝色。

4. 计算 J 线

1
J:3*K-2*D,COLORE970DC;
  • 作用: 计算 J 线,扩展 K 和 D 线的偏离度。
  • 公式:
    • ( J = 3 \times K - 2 \times D )
  • 解释:
    • J 线 是 K 和 D 线的加权组合,波动性更强。
    • 通常 J 线比 K 和 D 更敏感,用于识别极端买卖点。
    • COLORE970DC: 设置线条颜色为紫色。

5. 绘制水平参考线

1
2
LINE80:80, COLORRED;
LINE20:20,COLORRED;
  • 作用: 绘制两条固定值参考线,帮助识别超买超卖区域。
    • LINE80: 值为 80,表示超买区域。
    • LINE20: 值为 20,表示超卖区域。
    • COLORRED: 设置线条颜色为红色。

完整运行逻辑

  1. 输入参数:
    • P1: RSV 计算周期,通常为 9。
    • P2: K 线平滑周期,通常为 3。
    • P3: D 线平滑周期,通常为 3。
  2. 计算过程:
    • 先计算 RSV,再依次平滑生成 K 和 D,最后计算 J。
  3. 结果展示:
    • 绘制 K、D、J 线和水平线。
  4. 分析:
    • K 和 D 交叉: 买卖信号。
    • J 超过 80 或低于 20: 超买或超卖信号。

使用方法

  1. 交叉信号:
    • K 上穿 D: 买入信号。
    • K 下穿 D: 卖出信号。
  2. 超买超卖:
    • J > 80: 谨慎高位卖出。
    • J < 20: 谨慎低位买入。
  3. 趋势确认:
    • K 和 D 在 50 上方:市场处于强势趋势。
    • K 和 D 在 50 下方:市场处于弱势趋势。

希望以上解释对你有帮助!如果有其他问题,随时问我( yc.guan#gmail.com , replace # with @)