createIndicator(indicator, isStack?, paneOptions?)
createIndicator
创建指标。
参考
typescript
(
indicator: string | {
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
},
isStack?: boolean,
paneOptions: {
id?: string
height?: number
minHeight?: number
dragEnabled?: boolean
order?: number
state?: 'normal' | 'maximize' | 'minimize'
axis?: {
name: string
reverse?: boolean
inside?: boolean
position?: 'left' | 'right'
scrollZoomEnabled?: boolean
gap?: {
top?: number
bottom?: number
}
createRange?: (params: object) => ({
from: number
to: number
range: number
realFrom: number
realTo: number
realRange: number
displayFrom: number
displayTo: number
displayRange: number
})
createTicks?: (params: object) => Array<{
coord: number
value: number | string
text: string
}>
}
}
) => string | null
参数
indicator
指标配置,可以是指标名,也可以是一个对象。对象参数如下。name
名称。shortName
简短名称,用于提示显示。precision
精度。calcParams
计算参数。shouldOhlc
是否需要显示ohlc
柱。shouldFormatBigNumber
是否需要将大数字格式化显示。visible
是否可见。zLevel
层级,只作用于指标与指标之间。extendData
自定义扩展数据。series
系列,支持normal
,price
和volume
,当是price
并且没有设置precision
时,精度将随着价格精度变化,当是volume
并且没有设置precision
时,精度将随数量精度变化。figures
图形配置,是一个数组,子项是包含配置的object
。key
数据取值的标识,与calc
返回的数据子项的key
对应。type
图形类型,支持klinecharts.getSupportedFigures
返回值存在的类型。baseValue
基本对照值,目前仅仅作用于type
是rect
和bar
的时候,当此值有效时,图形将会以此值为基准上下绘制。attrs
属性值,是一个方法,返回值是klinecharts.getFigureClass
得到的对象所需要的属性。styles
样式,是一个方法,返回值是klinecharts.getFigureClass
得到的对象所需要的样式。
minValue
指定最小值。maxValue
指定最大值。styles
样式配置,类型同通用样式Styles
中的indicator
。shouldUpdate
手动控制是否需要更新。calc
计算方法。regenerateFigures
重新生成基础图形配置,当calcParams
变化时触发,返回值类型同figures
。createTooltipDataSource
创建自定义的提示信息。draw
自定义绘制方法,如果返回值是true
,则会覆盖默认的绘制。onDataStateChange
数据变化回调通知。
isStack
是否叠加。paneOptions
窗口配置。id
窗口id。height
高度。minHeight
最小高度。dragEnabled
是否可以拖拽调整高度。order
顺序。state
状态,支持normal
,maximize
和minimize
。axis
坐标轴配置。name
坐标轴名称。reverse
是否反向。inside
是否在内部。position
位置,支持left
和right
。scrollZoomEnabled
是否允许滚动缩放。gap
上下边距配置。top
上边距。bottom
下边距。
createRange
创建轴上取值范围回调方法。createTicks
创建分割信息回调方法。
返回值
createIndicator
返回窗口id string
或者 null
。