@363045841yyt/klinechart 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -243
- package/dist/components/IndicatorParams.vue.d.ts +28 -0
- package/dist/components/IndicatorSelector.vue.d.ts +10 -0
- package/dist/components/KLineChart.vue.d.ts +14 -17
- package/dist/components/MarkerTooltip.vue.d.ts +10 -0
- package/dist/core/chart.d.ts +84 -47
- package/dist/core/controller/interaction.d.ts +56 -18
- package/dist/core/layout/pane.d.ts +2 -0
- package/dist/core/marker/registry.d.ts +174 -0
- package/dist/core/paneRenderer.d.ts +7 -40
- package/dist/core/renderers/Indicator/boll.d.ts +28 -0
- package/dist/core/renderers/Indicator/bollLegend.d.ts +16 -0
- package/dist/core/renderers/Indicator/cci.d.ts +34 -0
- package/dist/core/renderers/Indicator/fastk.d.ts +34 -0
- package/dist/core/renderers/Indicator/index.d.ts +31 -0
- package/dist/core/renderers/Indicator/kst.d.ts +49 -0
- package/dist/core/renderers/Indicator/ma.d.ts +12 -0
- package/dist/core/renderers/Indicator/maLegend.d.ts +9 -0
- package/dist/core/renderers/Indicator/macd.d.ts +46 -0
- package/dist/core/renderers/Indicator/macdLegend.d.ts +10 -0
- package/dist/core/renderers/Indicator/mom.d.ts +34 -0
- package/dist/core/renderers/Indicator/rsi.d.ts +42 -0
- package/dist/core/renderers/Indicator/stoch.d.ts +43 -0
- package/dist/core/renderers/Indicator/wmsr.d.ts +34 -0
- package/dist/core/renderers/candle.d.ts +17 -4
- package/dist/core/renderers/crosshair.d.ts +13 -20
- package/dist/core/renderers/customMarkers.d.ts +6 -0
- package/dist/core/renderers/extremaMarkers.d.ts +3 -4
- package/dist/core/renderers/globalBorders.d.ts +8 -13
- package/dist/core/renderers/gridLines.d.ts +4 -3
- package/dist/core/renderers/lastPrice.d.ts +3 -3
- package/dist/core/renderers/paneTitle.d.ts +37 -10
- package/dist/core/renderers/subVolume.d.ts +7 -3
- package/dist/core/renderers/timeAxis.d.ts +9 -22
- package/dist/core/renderers/yAxis.d.ts +5 -12
- package/dist/core/scale/priceScale.d.ts +1 -0
- package/dist/core/theme/colors.d.ts +80 -0
- package/dist/core/utils/klineConfig.d.ts +28 -0
- package/dist/core/utils/tickCount.d.ts +7 -0
- package/dist/core/viewport/viewport.d.ts +5 -5
- package/dist/index.cjs +16 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +10540 -1064
- package/dist/klinechart.css +1 -1
- package/dist/plugin/ConfigManager.d.ts +31 -0
- package/dist/plugin/EventBus.d.ts +34 -0
- package/dist/plugin/HookSystem.d.ts +28 -0
- package/dist/plugin/PluginHost.d.ts +47 -0
- package/dist/plugin/PluginRegistry.d.ts +40 -0
- package/dist/plugin/index.d.ts +11 -0
- package/dist/plugin/rendererPluginManager.d.ts +73 -0
- package/dist/plugin/types.d.ts +185 -0
- package/dist/semantic/controller.d.ts +29 -0
- package/dist/semantic/drawShape.d.ts +14 -0
- package/dist/semantic/index.d.ts +8 -0
- package/dist/semantic/schema.json.d.ts +259 -0
- package/dist/semantic/types.d.ts +185 -0
- package/dist/semantic/validator.d.ts +42 -0
- package/dist/types/volumePrice.d.ts +26 -0
- package/dist/utils/kLineDraw/MA.d.ts +5 -5
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/volumePrice.d.ts +54 -0
- package/package.json +11 -10
- package/dist/core/renderers/crosshairLabels.d.ts +0 -36
- package/dist/core/renderers/grid.d.ts +0 -6
- package/dist/core/renderers/ma.d.ts +0 -15
- package/dist/core/renderers/maLegend.d.ts +0 -19
- package/dist/core/renderers/paneBorder.d.ts +0 -26
- package/dist/core/renderers/paneSeparator.d.ts +0 -18
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface FASTKConfig {
|
|
4
|
+
/** 周期(默认 9) */
|
|
5
|
+
period?: number;
|
|
6
|
+
/** 是否显示 FASTK 线 */
|
|
7
|
+
showFASTK?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface FASTKRendererOptions {
|
|
10
|
+
/** 目标 pane ID(默认 'sub') */
|
|
11
|
+
paneId?: string;
|
|
12
|
+
/** 初始配置 */
|
|
13
|
+
config?: FASTKConfig;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 创建 FASTK 渲染器插件
|
|
17
|
+
*/
|
|
18
|
+
export declare function createFASTKRendererPlugin(options?: FASTKRendererOptions): RendererPlugin;
|
|
19
|
+
/**
|
|
20
|
+
* 计算指定索引处的 FASTK 值
|
|
21
|
+
*/
|
|
22
|
+
export declare function calcFASTKAtIndex(data: KLineData[], index: number, period: number): number | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* 获取 FASTK 标题信息(供 paneTitle 使用)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getFASTKTitleInfo(data: KLineData[], index: number, period?: number): {
|
|
27
|
+
name: string;
|
|
28
|
+
params: number[];
|
|
29
|
+
values: Array<{
|
|
30
|
+
label: string;
|
|
31
|
+
value: number;
|
|
32
|
+
color: string;
|
|
33
|
+
}>;
|
|
34
|
+
} | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
export { createMARendererPlugin, type MAFlags } from './ma';
|
|
3
|
+
export { createMALegendRendererPlugin } from './maLegend';
|
|
4
|
+
export { createBOLLRendererPlugin, calcBOLLAtIndex, type BOLLConfig } from './boll';
|
|
5
|
+
export { createBOLLLegendRendererPlugin, type BOLLLegendConfig } from './bollLegend';
|
|
6
|
+
export { createMACDRendererPlugin, calcMACDAtIndex, type MACDConfig, type MACDRendererOptions, getMACDTitleInfo } from './macd';
|
|
7
|
+
export { createMACDLegendRendererPlugin, type MACDLegendOptions } from './macdLegend';
|
|
8
|
+
export { createRSIRendererPlugin, calcRSIAtIndex, type RSIConfig, type RSIRendererOptions, getRSITitleInfo } from './rsi';
|
|
9
|
+
export { createCCIRendererPlugin, calcCCIAtIndex, type CCIConfig, type CCIRendererOptions, getCCITitleInfo } from './cci';
|
|
10
|
+
export { createSTOCHRendererPlugin, calcSTOCHAtIndex, type STOCHConfig, type STOCHRendererOptions, getSTOCHTitleInfo } from './stoch';
|
|
11
|
+
export { createMOMRendererPlugin, calcMOMAtIndex, type MOMConfig, type MOMRendererOptions, getMOMTitleInfo } from './mom';
|
|
12
|
+
export { createWMSRRendererPlugin, calcWMSRAtIndex, type WMSRConfig, type WMSRRendererOptions, getWMSRTitleInfo } from './wmsr';
|
|
13
|
+
export { createKSTRendererPlugin, calcKSTAtIndex, type KSTConfig, type KSTRendererOptions, getKSTTitleInfo } from './kst';
|
|
14
|
+
export { createFASTKRendererPlugin, calcFASTKAtIndex, type FASTKConfig, type FASTKRendererOptions, getFASTKTitleInfo } from './fastk';
|
|
15
|
+
/**
|
|
16
|
+
* 副图指标类型
|
|
17
|
+
*/
|
|
18
|
+
export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK';
|
|
19
|
+
/**
|
|
20
|
+
* 渲染器工厂选项
|
|
21
|
+
*/
|
|
22
|
+
export interface IndicatorRendererOptions {
|
|
23
|
+
/** 指标类型 */
|
|
24
|
+
indicatorId: SubIndicatorType;
|
|
25
|
+
/** 目标 pane ID */
|
|
26
|
+
paneId: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 创建副图指标渲染器(统一工厂函数)
|
|
30
|
+
*/
|
|
31
|
+
export declare function createSubIndicatorRenderer(options: IndicatorRendererOptions): RendererPlugin;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface KSTConfig {
|
|
4
|
+
/** ROC1 周期(默认 10) */
|
|
5
|
+
roc1?: number;
|
|
6
|
+
/** ROC2 周期(默认 15) */
|
|
7
|
+
roc2?: number;
|
|
8
|
+
/** ROC3 周期(默认 20) */
|
|
9
|
+
roc3?: number;
|
|
10
|
+
/** ROC4 周期(默认 30) */
|
|
11
|
+
roc4?: number;
|
|
12
|
+
/** 信号线周期(默认 9) */
|
|
13
|
+
signalPeriod?: number;
|
|
14
|
+
/** 是否显示 KST 线 */
|
|
15
|
+
showKST?: boolean;
|
|
16
|
+
/** 是否显示信号线 */
|
|
17
|
+
showSignal?: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface KSTPoint {
|
|
20
|
+
kst: number;
|
|
21
|
+
signal: number;
|
|
22
|
+
}
|
|
23
|
+
export interface KSTRendererOptions {
|
|
24
|
+
/** 目标 pane ID(默认 'sub') */
|
|
25
|
+
paneId?: string;
|
|
26
|
+
/** 初始配置 */
|
|
27
|
+
config?: KSTConfig;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 创建 KST 渲染器插件
|
|
31
|
+
*/
|
|
32
|
+
export declare function createKSTRendererPlugin(options?: KSTRendererOptions): RendererPlugin;
|
|
33
|
+
/**
|
|
34
|
+
* 计算指定索引处的 KST 值
|
|
35
|
+
*/
|
|
36
|
+
export declare function calcKSTAtIndex(data: KLineData[], index: number, roc1: number, roc2: number, roc3: number, roc4: number, signalPeriod: number): KSTPoint | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* 获取 KST 标题信息(供 paneTitle 使用)
|
|
39
|
+
*/
|
|
40
|
+
export declare function getKSTTitleInfo(data: KLineData[], index: number, roc1?: number, roc2?: number, roc3?: number, roc4?: number, signalPeriod?: number): {
|
|
41
|
+
name: string;
|
|
42
|
+
params: number[];
|
|
43
|
+
values: Array<{
|
|
44
|
+
label: string;
|
|
45
|
+
value: number;
|
|
46
|
+
color: string;
|
|
47
|
+
}>;
|
|
48
|
+
} | null;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
export type MAFlags = {
|
|
3
|
+
ma5?: boolean;
|
|
4
|
+
ma10?: boolean;
|
|
5
|
+
ma20?: boolean;
|
|
6
|
+
ma30?: boolean;
|
|
7
|
+
ma60?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* 创建 MA 均线渲染器插件
|
|
11
|
+
*/
|
|
12
|
+
export declare function createMARendererPlugin(showMA?: MAFlags): RendererPlugin;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface MACDConfig {
|
|
4
|
+
/** 快线周期(默认 12) */
|
|
5
|
+
fastPeriod?: number;
|
|
6
|
+
/** 慢线周期(默认 26) */
|
|
7
|
+
slowPeriod?: number;
|
|
8
|
+
/** DEA 周期(默认 9) */
|
|
9
|
+
signalPeriod?: number;
|
|
10
|
+
/** 是否显示 DIF 线 */
|
|
11
|
+
showDIF?: boolean;
|
|
12
|
+
/** 是否显示 DEA 线 */
|
|
13
|
+
showDEA?: boolean;
|
|
14
|
+
/** 是否显示 MACD 柱 */
|
|
15
|
+
showBAR?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface MACDRendererOptions {
|
|
18
|
+
/** 目标 pane ID(默认 'sub') */
|
|
19
|
+
paneId?: string;
|
|
20
|
+
/** 初始配置 */
|
|
21
|
+
config?: MACDConfig;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 创建 MACD 渲染器插件
|
|
25
|
+
*/
|
|
26
|
+
export declare function createMACDRendererPlugin(options?: MACDRendererOptions): RendererPlugin;
|
|
27
|
+
/**
|
|
28
|
+
* 计算指定索引处的 MACD 值(供图例使用)
|
|
29
|
+
*/
|
|
30
|
+
export declare function calcMACDAtIndex(data: KLineData[], index: number, fastPeriod?: number, slowPeriod?: number, signalPeriod?: number): {
|
|
31
|
+
dif: number;
|
|
32
|
+
dea: number;
|
|
33
|
+
macd: number;
|
|
34
|
+
} | null;
|
|
35
|
+
/**
|
|
36
|
+
* 获取 MACD 标题信息(供 paneTitle 使用)
|
|
37
|
+
*/
|
|
38
|
+
export declare function getMACDTitleInfo(data: KLineData[], index: number, fastPeriod?: number, slowPeriod?: number, signalPeriod?: number): {
|
|
39
|
+
name: string;
|
|
40
|
+
params: number[];
|
|
41
|
+
values: Array<{
|
|
42
|
+
label: string;
|
|
43
|
+
value: number;
|
|
44
|
+
color: string;
|
|
45
|
+
}>;
|
|
46
|
+
} | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
export interface MACDLegendOptions {
|
|
3
|
+
/** Y 轴内边距(与主图保持一致) */
|
|
4
|
+
yPaddingPx?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 创建 MACD 图例渲染器插件
|
|
8
|
+
* 在副图左上角显示当前 MACD 指标值
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMACDLegendRendererPlugin(options?: MACDLegendOptions): RendererPlugin;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface MOMConfig {
|
|
4
|
+
/** 周期(默认 10) */
|
|
5
|
+
period?: number;
|
|
6
|
+
/** 是否显示 MOM 线 */
|
|
7
|
+
showMOM?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface MOMRendererOptions {
|
|
10
|
+
/** 目标 pane ID(默认 'sub') */
|
|
11
|
+
paneId?: string;
|
|
12
|
+
/** 初始配置 */
|
|
13
|
+
config?: MOMConfig;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 创建 MOM 渲染器插件
|
|
17
|
+
*/
|
|
18
|
+
export declare function createMOMRendererPlugin(options?: MOMRendererOptions): RendererPlugin;
|
|
19
|
+
/**
|
|
20
|
+
* 计算指定索引处的 MOM 值
|
|
21
|
+
*/
|
|
22
|
+
export declare function calcMOMAtIndex(data: KLineData[], index: number, period: number): number | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* 获取 MOM 标题信息(供 paneTitle 使用)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getMOMTitleInfo(data: KLineData[], index: number, period?: number): {
|
|
27
|
+
name: string;
|
|
28
|
+
params: number[];
|
|
29
|
+
values: Array<{
|
|
30
|
+
label: string;
|
|
31
|
+
value: number;
|
|
32
|
+
color: string;
|
|
33
|
+
}>;
|
|
34
|
+
} | null;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface RSIConfig {
|
|
4
|
+
/** 第一条 RSI 周期(默认 6) */
|
|
5
|
+
period1?: number;
|
|
6
|
+
/** 第二条 RSI 周期(默认 12) */
|
|
7
|
+
period2?: number;
|
|
8
|
+
/** 第三条 RSI 周期(默认 24) */
|
|
9
|
+
period3?: number;
|
|
10
|
+
/** 是否显示 RSI1 */
|
|
11
|
+
showRSI1?: boolean;
|
|
12
|
+
/** 是否显示 RSI2 */
|
|
13
|
+
showRSI2?: boolean;
|
|
14
|
+
/** 是否显示 RSI3 */
|
|
15
|
+
showRSI3?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface RSIRendererOptions {
|
|
18
|
+
/** 目标 pane ID(默认 'sub') */
|
|
19
|
+
paneId?: string;
|
|
20
|
+
/** 初始配置 */
|
|
21
|
+
config?: RSIConfig;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 创建 RSI 渲染器插件
|
|
25
|
+
*/
|
|
26
|
+
export declare function createRSIRendererPlugin(options?: RSIRendererOptions): RendererPlugin;
|
|
27
|
+
/**
|
|
28
|
+
* 计算指定索引处的 RSI 值
|
|
29
|
+
*/
|
|
30
|
+
export declare function calcRSIAtIndex(data: KLineData[], index: number, period: number): number | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* 获取 RSI 标题信息(供 paneTitle 使用)
|
|
33
|
+
*/
|
|
34
|
+
export declare function getRSITitleInfo(data: KLineData[], index: number, period1?: number, period2?: number, period3?: number): {
|
|
35
|
+
name: string;
|
|
36
|
+
params: number[];
|
|
37
|
+
values: Array<{
|
|
38
|
+
label: string;
|
|
39
|
+
value: number;
|
|
40
|
+
color: string;
|
|
41
|
+
}>;
|
|
42
|
+
} | null;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface STOCHConfig {
|
|
4
|
+
/** K 周期(默认 9) */
|
|
5
|
+
n?: number;
|
|
6
|
+
/** D 周期(默认 3) */
|
|
7
|
+
m?: number;
|
|
8
|
+
/** 是否显示 K 线 */
|
|
9
|
+
showK?: boolean;
|
|
10
|
+
/** 是否显示 D 线 */
|
|
11
|
+
showD?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface STOCHPoint {
|
|
14
|
+
k: number;
|
|
15
|
+
d: number;
|
|
16
|
+
}
|
|
17
|
+
export interface STOCHRendererOptions {
|
|
18
|
+
/** 目标 pane ID(默认 'sub') */
|
|
19
|
+
paneId?: string;
|
|
20
|
+
/** 初始配置 */
|
|
21
|
+
config?: STOCHConfig;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 创建 STOCH 渲染器插件
|
|
25
|
+
*/
|
|
26
|
+
export declare function createSTOCHRendererPlugin(options?: STOCHRendererOptions): RendererPlugin;
|
|
27
|
+
/**
|
|
28
|
+
* 计算指定索引处的 STOCH 值
|
|
29
|
+
*/
|
|
30
|
+
export declare function calcSTOCHAtIndex(data: KLineData[], index: number, n: number, m: number): STOCHPoint | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* 获取 STOCH 标题信息(供 paneTitle 使用)
|
|
33
|
+
*/
|
|
34
|
+
export declare function getSTOCHTitleInfo(data: KLineData[], index: number, n?: number, m?: number): {
|
|
35
|
+
name: string;
|
|
36
|
+
params: number[];
|
|
37
|
+
values: Array<{
|
|
38
|
+
label: string;
|
|
39
|
+
value: number;
|
|
40
|
+
color: string;
|
|
41
|
+
}>;
|
|
42
|
+
} | null;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../../plugin';
|
|
2
|
+
import { KLineData } from '../../../types/price';
|
|
3
|
+
export interface WMSRConfig {
|
|
4
|
+
/** 周期(默认 14) */
|
|
5
|
+
period?: number;
|
|
6
|
+
/** 是否显示 WMSR 线 */
|
|
7
|
+
showWMSR?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface WMSRRendererOptions {
|
|
10
|
+
/** 目标 pane ID(默认 'sub') */
|
|
11
|
+
paneId?: string;
|
|
12
|
+
/** 初始配置 */
|
|
13
|
+
config?: WMSRConfig;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 创建 WMSR 渲染器插件
|
|
17
|
+
*/
|
|
18
|
+
export declare function createWMSRRendererPlugin(options?: WMSRRendererOptions): RendererPlugin;
|
|
19
|
+
/**
|
|
20
|
+
* 计算指定索引处的 WMSR 值
|
|
21
|
+
*/
|
|
22
|
+
export declare function calcWMSRAtIndex(data: KLineData[], index: number, period: number): number | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* 获取 WMSR 标题信息(供 paneTitle 使用)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getWMSRTitleInfo(data: KLineData[], index: number, period?: number): {
|
|
27
|
+
name: string;
|
|
28
|
+
params: number[];
|
|
29
|
+
values: Array<{
|
|
30
|
+
label: string;
|
|
31
|
+
value: number;
|
|
32
|
+
color: string;
|
|
33
|
+
}>;
|
|
34
|
+
} | null;
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
|
+
import { VolumePriceRelation } from '../../types/volumePrice';
|
|
3
|
+
import { MarkerManager } from '../marker/registry';
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
* 依赖 pane.yAxis 做 price->y 坐标映射,使用物理像素空间计算避免浮点误差
|
|
5
|
+
* 创建 K 线蜡烛图渲染器插件
|
|
5
6
|
*/
|
|
6
|
-
export declare
|
|
7
|
+
export declare function createCandleRenderer(): RendererPlugin;
|
|
8
|
+
/**
|
|
9
|
+
* 绘制量价关系标记
|
|
10
|
+
* 在K线图上标注量价关系标记符号
|
|
11
|
+
*
|
|
12
|
+
* @param ctx - Canvas绘图上下文
|
|
13
|
+
* @param x - 标记的x坐标(三角形水平中心)
|
|
14
|
+
* @param y - 标记的y坐标(三角形底边/顶点与K线的接触点)
|
|
15
|
+
* @param relation - 量价关系类型
|
|
16
|
+
* @param kWidth - K线宽度,作为三角形边长
|
|
17
|
+
* @param gap - 三角形与K线的间距,默认为4
|
|
18
|
+
*/
|
|
19
|
+
export declare function drawVolumePriceMarker(ctx: CanvasRenderingContext2D, x: number, y: number, relation: VolumePriceRelation, kIndex: number, kWidth: number, gap: number | undefined, markerManager: MarkerManager): void;
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @param ctx Canvas 绘图上下文
|
|
5
|
-
* @param plotWidth 绘图区宽度
|
|
6
|
-
* @param plotHeight 绘图区高度
|
|
7
|
-
* @param dpr 设备像素比
|
|
8
|
-
* @param x 十字线横坐标
|
|
9
|
-
* @param y 十字线纵坐标
|
|
10
|
-
* @param drawVertical 是否绘制垂直线
|
|
11
|
-
* @param drawHorizontal 是否绘制水平线
|
|
3
|
+
* 创建十字线渲染器插件
|
|
4
|
+
* 垂直线绘制到所有面板,水平线只绘制到活跃面板
|
|
12
5
|
*/
|
|
13
|
-
export declare function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}):
|
|
6
|
+
export declare function createCrosshairRendererPlugin(options: {
|
|
7
|
+
getCrosshairState: () => {
|
|
8
|
+
pos: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
} | null;
|
|
12
|
+
activePaneId: string | null;
|
|
13
|
+
isDragging: boolean;
|
|
14
|
+
};
|
|
15
|
+
}): RendererPlugin;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* 使用 pane.yAxis.priceToY 作为 Y 映射(与当前 pane 的 priceRange 一致),world 坐标绘制(会 translate(-scrollLeft, 0))
|
|
3
|
+
* 创建可视区最高/最低价标注渲染器插件
|
|
5
4
|
*/
|
|
6
|
-
export declare
|
|
5
|
+
export declare function createExtremaMarkersRendererPlugin(): RendererPlugin;
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
|
+
/** 全局边框面板 ID(特殊标识,用于最后渲染) */
|
|
3
|
+
export declare const GLOBAL_BORDERS_PANE_ID: unique symbol;
|
|
1
4
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @param dpr 设备像素比
|
|
5
|
-
* @param plotWidth 绘图区宽度
|
|
6
|
-
* @param panes pane 数组,每个包含 top 和 height 属性
|
|
7
|
-
* @param color 边框颜色
|
|
5
|
+
* 创建全局边框渲染器插件
|
|
6
|
+
* 绘制所有面板的外边框
|
|
8
7
|
*/
|
|
9
|
-
export declare function
|
|
10
|
-
|
|
11
|
-
dpr: number;
|
|
12
|
-
plotWidth: number;
|
|
13
|
-
panes: Array<{
|
|
8
|
+
export declare function createGlobalBordersRendererPlugin(options: {
|
|
9
|
+
getPaneInfos: () => Array<{
|
|
14
10
|
top: number;
|
|
15
11
|
height: number;
|
|
16
12
|
}>;
|
|
17
|
-
|
|
18
|
-
}): void;
|
|
13
|
+
}): RendererPlugin;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* 创建网格线渲染器插件
|
|
4
4
|
* 横向按像素均分铺满整个绘图区高度,纵向按月分割(使用预计算的月边界,网格线对齐到K线实体中部)
|
|
5
|
+
* 渲染到所有 pane(使用 GLOBAL_PANE_ID)
|
|
5
6
|
*/
|
|
6
|
-
export declare
|
|
7
|
+
export declare function createGridLinesRendererPlugin(): RendererPlugin;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* 创建最新价虚线渲染器插件
|
|
4
4
|
*/
|
|
5
|
-
export declare
|
|
5
|
+
export declare function createLastPriceLineRendererPlugin(): RendererPlugin;
|
|
@@ -1,13 +1,40 @@
|
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param ctx Canvas 上下文
|
|
4
|
-
* @param dpr 设备像素比
|
|
5
|
-
* @param paneTop pane 顶部偏移
|
|
6
|
-
* @param title 标题文本
|
|
3
|
+
* 单个数值项
|
|
7
4
|
*/
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
export interface TitleValueItem {
|
|
6
|
+
/** 标签(如 "DIF"、"DEA") */
|
|
7
|
+
label: string;
|
|
8
|
+
/** 数值 */
|
|
9
|
+
value: number;
|
|
10
|
+
/** 颜色 */
|
|
11
|
+
color: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 标题信息(由指标渲染器提供)
|
|
15
|
+
*/
|
|
16
|
+
export interface TitleInfo {
|
|
17
|
+
/** 指标名称(如 "MACD") */
|
|
18
|
+
name: string;
|
|
19
|
+
/** 参数列表(如 [12, 26, 9]) */
|
|
20
|
+
params?: number[];
|
|
21
|
+
/** 数值项列表 */
|
|
22
|
+
values?: TitleValueItem[];
|
|
23
|
+
}
|
|
24
|
+
export interface PaneTitleOptions {
|
|
25
|
+
/** 面板 ID */
|
|
26
|
+
paneId: string;
|
|
27
|
+
/** 标题文本(静态模式) */
|
|
12
28
|
title: string;
|
|
13
|
-
|
|
29
|
+
/** 副标题/描述 */
|
|
30
|
+
description?: string;
|
|
31
|
+
/** Y 偏移(逻辑像素) */
|
|
32
|
+
yOffset?: number;
|
|
33
|
+
/** 动态标题信息提供函数 */
|
|
34
|
+
getTitleInfo?: () => TitleInfo | null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 创建面板标题渲染器插件
|
|
38
|
+
* 在面板左上角显示标题,支持动态指标数值显示
|
|
39
|
+
*/
|
|
40
|
+
export declare function createPaneTitleRendererPlugin(options: PaneTitleOptions): RendererPlugin;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
|
+
export interface VolumeRendererOptions {
|
|
3
|
+
/** 目标 pane ID(默认 'sub') */
|
|
4
|
+
paneId?: string;
|
|
5
|
+
}
|
|
2
6
|
/**
|
|
3
|
-
*
|
|
7
|
+
* 创建副图成交量渲染器插件
|
|
4
8
|
*/
|
|
5
|
-
export declare
|
|
9
|
+
export declare function createVolumeRendererPlugin(options?: VolumeRendererOptions): RendererPlugin;
|
|
@@ -1,27 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
|
+
/** 时间轴面板 ID(特殊标识,用于单独渲染) */
|
|
3
|
+
export declare const TIME_AXIS_PANE_ID: unique symbol;
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @param data K 线数据
|
|
6
|
-
* @param scrollLeft 滚动偏移量
|
|
7
|
-
* @param kWidth K 线宽度
|
|
8
|
-
* @param kGap K 线间隔
|
|
9
|
-
* @param startIndex 起始索引
|
|
10
|
-
* @param endIndex 结束索引
|
|
11
|
-
* @param dpr 设备像素比
|
|
12
|
-
* @param crosshair 十字线信息,包含横坐标和索引
|
|
5
|
+
* 创建时间轴渲染器插件
|
|
6
|
+
* 注意:时间轴渲染到 xAxisCanvas,需要特殊处理
|
|
13
7
|
*/
|
|
14
|
-
export declare function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
scrollLeft: number;
|
|
18
|
-
kWidth: number;
|
|
19
|
-
kGap: number;
|
|
20
|
-
startIndex: number;
|
|
21
|
-
endIndex: number;
|
|
22
|
-
dpr: number;
|
|
23
|
-
crosshair?: {
|
|
8
|
+
export declare function createTimeAxisRendererPlugin(options: {
|
|
9
|
+
height: number;
|
|
10
|
+
getCrosshair?: () => {
|
|
24
11
|
x: number;
|
|
25
12
|
index: number;
|
|
26
13
|
} | null;
|
|
27
|
-
}):
|
|
14
|
+
}): RendererPlugin;
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RendererPlugin } from '../../plugin';
|
|
2
2
|
/**
|
|
3
|
-
* 创建 Y
|
|
4
|
-
*
|
|
5
|
-
* @param opts.axisX 轴的横坐标
|
|
6
|
-
* @param opts.axisWidth 轴宽度
|
|
7
|
-
* @param opts.yPaddingPx 垂直内边距
|
|
8
|
-
* @param opts.ticks 刻度数量(可选,默认根据 pane 高度自动计算)
|
|
9
|
-
* @returns PaneRenderer 实例
|
|
3
|
+
* 创建 Y 轴渲染器插件
|
|
4
|
+
* 渲染到所有面板的 Y 轴区域
|
|
10
5
|
*/
|
|
11
|
-
export declare function
|
|
12
|
-
axisX: number;
|
|
6
|
+
export declare function createYAxisRendererPlugin(options: {
|
|
13
7
|
axisWidth: number;
|
|
14
8
|
yPaddingPx: number;
|
|
15
|
-
|
|
16
|
-
}): PaneRenderer;
|
|
9
|
+
}): RendererPlugin;
|