Skip to content

registerIndicator(indicator)

registerIndicator 用于自定义指标。

参考

typescript
(
  indicator: {
    name: string
    shortName?: string
    precision?: number
    calcParams?: unknown[]
    shouldOhlc?: boolean
    shouldFormatBigNumber?: boolean
    visible?: boolean
    zLevel?: number
    extendData?: unknown
    series?: 'normal' | 'price' | 'volume',
    figures?: Array<{
      key: string
      title?: string
      type?: string
      baseValue?: number
      attrs?: (params: object) => object
      styles?: (params: object) => object
    }>
    minValue?: number
    maxValue?: number
    styles?: Partial<IndicatorStyle>
    shouldUpdate?: (prev: Indicator, current: Indicator) => (boolean | { calc: boolean, draw: boolean })
    calc: (kLineDataList: KLineData[], indicator: Indicator) => unknown[] | Promise<unknown[]>
    regenerateFigures?: (calcParams: unknown[]) => Array<{
      key: string
      title?: string
      type?: string
      baseValue?: number
      attrs?: (params: object) => object
      styles?: (params: object) => object
    }>
    createTooltipDataSource?: (params: object) => ({
      name?: string
      calcParamsText?: string
      icons?: Array<{
        id?: string
        position?: 'left' | 'middle' | 'right'
        color?: string
        activeColor?: string
        size?: number
        fontFamily?: string
        icon?: string
        backgroundColor?: string
        activeBackgroundColor?: string
      }>
      legends?: Array<{
        title: string |
          {
            text: string
            color: string
          }
        value: string |
          {
            text: string
            color: string
          }
      }>
    })
    draw?: (params: object) => boolean
    onDataStateChange?: (params: object) => void
  }
) => void

参数

  • indicator 指标配置。
    • name 名称,用于创建或者修改的唯一标识。
    • shortName 简短名称,用于提示显示。
    • precision 精度。
    • calcParams 计算参数。
    • shouldOhlc 是否需要显示 ohlc 柱。
    • shouldFormatBigNumber 是否需要将大数字格式化显示。
    • visible 是否可见。
    • zLevel 层级,只作用于指标与指标之间。
    • extendData 自定义扩展数据。
    • series 系列,支持 normalpricevolume ,当是 price 并且没有设置 precision 时,精度将随着价格精度变化,当是 volume 并且没有设置 precision 时,精度将随数量精度变化。
    • figures 图形配置,是一个数组,子项是包含配置的 object
      • key 数据取值的标识,与 calc 返回的数据子项的 key 对应。
      • type 图形类型,支持 klinecharts.getSupportedFigures 返回值存在的类型。
      • baseValue 基本对照值,目前仅仅作用于 typerectbar 的时候,当此值有效时,图形将会以此值为基准上下绘制。
      • attrs 属性值,是一个方法,返回值是 klinecharts.getFigureClass 得到的对象所需要的属性。
      • styles 样式,是一个方法,返回值是 klinecharts.getFigureClass 得到的对象所需要的样式。
    • minValue 指定最小值。
    • maxValue 指定最大值。
    • styles 样式配置,类型同通用样式 Styles 中的 indicator
    • shouldUpdate 手动控制是否需要更新。
    • calc 计算方法。
    • regenerateFigures 重新生成基础图形配置,当 calcParams 变化时触发,返回值类型同 figures
    • createTooltipDataSource 创建自定义的提示信息。
    • draw 自定义绘制方法,如果返回值是 true ,则会覆盖默认的绘制。
    • onDataStateChange 数据变化回调通知。

返回值

registerIndicator 返回 undefined

用法

基本使用

使用自定义基础图形

自定义的提示信息

自定义绘制