createIndicator(indicator, isStack?, paneOptions?)
createIndicator 创建指标。
参考
typescript
(
indicator: string | {
name: string
id?: 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) => Record<Timestamp, unknown> | Promise<Record<Timestamp, 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
features?: Array<{
id?: string
position?: 'left' | 'middle' | 'right'
marginLeft?: number
marginTop?: number
marginRight?: number
marginBottom?: number
paddingLeft?: number
paddingTop?: number
paddingRight?: number
paddingBottom?: number
size?: number
color?: string
activeColor?: string
backgroundColor?: string
activeBackgroundColor?: string
type?: 'path' | 'icon_font'
path?: {
style?: 'stroke' | 'fill'
path?: string
lineWidth?: number
}
iconFont?: {
content?: string
family?: 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名称。id指标 id 。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。