如何在高图中执行KDJ指标计算

时间:2019-12-16 10:13:16

标签: javascript highcharts

如何在Highcharts中实施KDJ指标计算以及CIPHER B计算? KDJ论坛吗?

2 个答案:

答案 0 :(得分:0)

在这里您可以找到所有内置指示器的列表:https://www.highcharts.com/docs/stock/technical-indicator-series

如果需要使用其他指标,则需要按照以下步骤进行创建:https://www.highcharts.com/docs/stock/custom-technical-indicators

答案 1 :(得分:0)

我遇到了同样的问题。

您可以使用计算%K和%D的随机指标,然后创建一个自定义指标来计算%J值。

不幸的是,我无法创建完整的KDJ指标,但必须包括一个随机指标系列(%K和%D)和一个自定义指标系列(%J)。

自定义KDJ指标必须链接到随机序列:

{
  type: 'kdj'
  linkedTo: 'myStochasticSeriesId',
  ...
}

这是我的KDJ(%J)指示器(使用TypeScript):

import Highcharts from 'highcharts';

function getJ(xData: any, yData: any) {
  return {
    xData,
    yData,
    values: yData.map((stochasticValues: [number, number]) => {
      const [k, d] = stochasticValues;
      const j = 3 * d - 2 * k;
      return j;
    }),
  };
}

export default function (highcharts: typeof Highcharts) {
  highcharts.seriesType(
    'kdj', // Calculates %J from %K and %D
    'stochastic', // Calculates %K & %D
    {
      name: 'KDJ'
    },
    {
      getValues: function (series: any): any {
        return this.getKDJ(series.xData, series.yData);
      },
      getKDJ: getJ
    }
  );
}

您必须像其他指标一样初始化KDJ指标:

import Highcharts from 'highcharts/highstock';
import kdj from './indicators/kdj-indicator';
kdj(Highcharts);