@363045841yyt/klinechart 0.6.9 → 0.7.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.
Files changed (87) hide show
  1. package/README.md +1 -0
  2. package/dist/favicon.ico +0 -0
  3. package/dist/index.cjs +5 -5
  4. package/dist/index.js +8980 -2945
  5. package/dist/klinechart.css +1 -1
  6. package/dist/mock-stock-data.json +1 -0
  7. package/dist/src/api/data/baostock.d.ts +4 -0
  8. package/dist/src/components/IndicatorSelector.vue.d.ts +0 -10
  9. package/dist/src/components/KLineChart.vue.d.ts +1 -1
  10. package/dist/src/config/chartSettings.d.ts +6 -0
  11. package/dist/src/core/chart.d.ts +43 -10
  12. package/dist/src/core/controller/interaction.d.ts +2 -30
  13. package/dist/src/core/controller/markerInteraction.d.ts +28 -0
  14. package/dist/src/core/controller/pinchTracker.d.ts +18 -0
  15. package/dist/src/core/controller/tooltipPosition.d.ts +21 -0
  16. package/dist/src/core/drawing/plugin.d.ts +19 -0
  17. package/dist/src/core/indicators/atrState.d.ts +16 -0
  18. package/dist/src/core/indicators/calculators.d.ts +196 -0
  19. package/dist/src/core/indicators/chaikinVolState.d.ts +18 -0
  20. package/dist/src/core/indicators/cmfState.d.ts +16 -0
  21. package/dist/src/core/indicators/demaState.d.ts +16 -0
  22. package/dist/src/core/indicators/donchianState.d.ts +23 -0
  23. package/dist/src/core/indicators/fibState.d.ts +26 -0
  24. package/dist/src/core/indicators/hmaState.d.ts +16 -0
  25. package/dist/src/core/indicators/hvState.d.ts +18 -0
  26. package/dist/src/core/indicators/ichimokuState.d.ts +44 -0
  27. package/dist/src/core/indicators/indicatorRuntime.d.ts +55 -0
  28. package/dist/src/core/indicators/kamaState.d.ts +20 -0
  29. package/dist/src/core/indicators/keltnerState.d.ts +27 -0
  30. package/dist/src/core/indicators/mfiState.d.ts +16 -0
  31. package/dist/src/core/indicators/obvState.d.ts +14 -0
  32. package/dist/src/core/indicators/parkinsonState.d.ts +18 -0
  33. package/dist/src/core/indicators/pivotState.d.ts +29 -0
  34. package/dist/src/core/indicators/pvtState.d.ts +14 -0
  35. package/dist/src/core/indicators/rocState.d.ts +16 -0
  36. package/dist/src/core/indicators/sarState.d.ts +26 -0
  37. package/dist/src/core/indicators/scheduler.d.ts +100 -2
  38. package/dist/src/core/indicators/stateComposer.d.ts +81 -0
  39. package/dist/src/core/indicators/structureState.d.ts +43 -0
  40. package/dist/src/core/indicators/supertrendState.d.ts +22 -0
  41. package/dist/src/core/indicators/temaState.d.ts +16 -0
  42. package/dist/src/core/indicators/trixState.d.ts +20 -0
  43. package/dist/src/core/indicators/vmaState.d.ts +16 -0
  44. package/dist/src/core/indicators/volumeProfileState.d.ts +34 -0
  45. package/dist/src/core/indicators/vwapState.d.ts +16 -0
  46. package/dist/src/core/indicators/wmaState.d.ts +16 -0
  47. package/dist/src/core/indicators/workerProtocol.d.ts +308 -1
  48. package/dist/src/core/indicators/zonesState.d.ts +26 -0
  49. package/dist/src/core/paneRenderer.d.ts +3 -1
  50. package/dist/src/core/renderers/Indicator/atr.d.ts +17 -0
  51. package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +4 -0
  52. package/dist/src/core/renderers/Indicator/cmf.d.ts +4 -0
  53. package/dist/src/core/renderers/Indicator/dema.d.ts +5 -0
  54. package/dist/src/core/renderers/Indicator/donchian.d.ts +5 -0
  55. package/dist/src/core/renderers/Indicator/fib.d.ts +4 -0
  56. package/dist/src/core/renderers/Indicator/hma.d.ts +5 -0
  57. package/dist/src/core/renderers/Indicator/hv.d.ts +4 -0
  58. package/dist/src/core/renderers/Indicator/ichimoku.d.ts +5 -0
  59. package/dist/src/core/renderers/Indicator/index.d.ts +28 -1
  60. package/dist/src/core/renderers/Indicator/indicatorData.d.ts +13 -0
  61. package/dist/src/core/renderers/Indicator/kama.d.ts +5 -0
  62. package/dist/src/core/renderers/Indicator/keltner.d.ts +5 -0
  63. package/dist/src/core/renderers/Indicator/mfi.d.ts +4 -0
  64. package/dist/src/core/renderers/Indicator/obv.d.ts +4 -0
  65. package/dist/src/core/renderers/Indicator/parkinson.d.ts +4 -0
  66. package/dist/src/core/renderers/Indicator/pivot.d.ts +4 -0
  67. package/dist/src/core/renderers/Indicator/pvt.d.ts +4 -0
  68. package/dist/src/core/renderers/Indicator/roc.d.ts +5 -0
  69. package/dist/src/core/renderers/Indicator/sar.d.ts +5 -0
  70. package/dist/src/core/renderers/Indicator/scale/atr_scale.d.ts +11 -0
  71. package/dist/src/core/renderers/Indicator/structure.d.ts +4 -0
  72. package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +9 -0
  73. package/dist/src/core/renderers/Indicator/supertrend.d.ts +5 -0
  74. package/dist/src/core/renderers/Indicator/tema.d.ts +5 -0
  75. package/dist/src/core/renderers/Indicator/trix.d.ts +5 -0
  76. package/dist/src/core/renderers/Indicator/vma.d.ts +4 -0
  77. package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +4 -0
  78. package/dist/src/core/renderers/Indicator/vwap.d.ts +4 -0
  79. package/dist/src/core/renderers/Indicator/wma.d.ts +5 -0
  80. package/dist/src/core/renderers/Indicator/zones.d.ts +4 -0
  81. package/dist/src/core/renderers/webgl/candleSurface.d.ts +16 -5
  82. package/dist/src/core/renderers/webgl/sharedWebGLSurface.d.ts +33 -0
  83. package/dist/src/core/subPaneManager.d.ts +22 -0
  84. package/dist/src/semantic/types.d.ts +95 -0
  85. package/dist/src/test-setup.d.ts +6 -0
  86. package/package.json +1 -1
  87. /package/dist/src/api/data/{baostock.test.d.ts → baostock.integration.test.d.ts} +0 -0
@@ -0,0 +1,34 @@
1
+ import { BaseIndicatorState } from '../../plugin';
2
+ export interface VolumeProfileBin {
3
+ priceLow: number;
4
+ priceHigh: number;
5
+ volume: number;
6
+ }
7
+ export interface VolumeProfileResult {
8
+ bins: VolumeProfileBin[];
9
+ poc: number;
10
+ vah: number;
11
+ val: number;
12
+ totalVolume: number;
13
+ }
14
+ export interface VolumeProfileRenderState extends BaseIndicatorState {
15
+ timestamp: number;
16
+ series: VolumeProfileResult;
17
+ params: {
18
+ bins: number;
19
+ lookback: number;
20
+ valueAreaPercent: number;
21
+ showPOC: boolean;
22
+ showValueArea: boolean;
23
+ };
24
+ valueMin: number;
25
+ valueMax: number;
26
+ visibleMin: number;
27
+ visibleMax: number;
28
+ }
29
+ export declare const createVolumeProfileStateKey: (paneId: string) => `indicator:${string}:${string}`;
30
+ export declare const DEFAULT_VP_BINS = 24;
31
+ export declare const DEFAULT_VP_LOOKBACK = 0;
32
+ export declare const DEFAULT_VP_VALUE_AREA = 0.7;
33
+ export declare const EMPTY_VP_RESULT: VolumeProfileResult;
34
+ export declare const EMPTY_VOLUME_PROFILE_STATE: VolumeProfileRenderState;
@@ -0,0 +1,16 @@
1
+ import { BaseIndicatorState } from '../../plugin';
2
+ export interface VWAPRenderState extends BaseIndicatorState {
3
+ timestamp: number;
4
+ series: (number | undefined)[];
5
+ params: {
6
+ sessionResetGapMs: number;
7
+ showVWAP: boolean;
8
+ };
9
+ valueMin: number;
10
+ valueMax: number;
11
+ visibleMin: number;
12
+ visibleMax: number;
13
+ }
14
+ export declare const createVWAPStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
+ export declare const DEFAULT_VWAP_SESSION_GAP_MS = 0;
16
+ export declare const EMPTY_VWAP_STATE: VWAPRenderState;
@@ -0,0 +1,16 @@
1
+ import { BaseIndicatorState } from '../../plugin';
2
+ export interface WMARenderState extends BaseIndicatorState {
3
+ timestamp: number;
4
+ series: (number | undefined)[];
5
+ params: {
6
+ period: number;
7
+ showWMA: boolean;
8
+ };
9
+ valueMin: number;
10
+ valueMax: number;
11
+ visibleMin: number;
12
+ visibleMax: number;
13
+ }
14
+ export declare const createWMAStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
+ export declare const DEFAULT_WMA_PERIOD = 9;
16
+ export declare const EMPTY_WMA_STATE: WMARenderState;
@@ -1,5 +1,5 @@
1
1
  import { KLineData } from '../../types/price';
2
- import { MAFlags, BOLLPoint, EXPMAPoint, ENEPoint, STOCHPoint, KSTPoint, MACDPoint } from './calculators';
2
+ import { MAFlags, BOLLPoint, EXPMAPoint, ENEPoint, STOCHPoint, KSTPoint, MACDPoint, SARPoint, SuperTrendPoint, KeltnerPoint, DonchianPoint, IchimokuPoint, PivotPoint, FibPoint, StructureSnapshot, Zone, VolumeProfileResult } from './calculators';
3
3
  export interface BOLLSchedulerConfig {
4
4
  period: number;
5
5
  multiplier: number;
@@ -63,6 +63,150 @@ export interface MACDSchedulerConfig {
63
63
  showDEA: boolean;
64
64
  showBAR: boolean;
65
65
  }
66
+ export interface ATRSchedulerConfig {
67
+ period: number;
68
+ showATR: boolean;
69
+ }
70
+ export interface WMASchedulerConfig {
71
+ period: number;
72
+ showWMA: boolean;
73
+ }
74
+ export interface DEMASchedulerConfig {
75
+ period: number;
76
+ showDEMA: boolean;
77
+ }
78
+ export interface TEMASchedulerConfig {
79
+ period: number;
80
+ showTEMA: boolean;
81
+ }
82
+ export interface HMASchedulerConfig {
83
+ period: number;
84
+ showHMA: boolean;
85
+ }
86
+ export interface KAMASchedulerConfig {
87
+ period: number;
88
+ fastPeriod: number;
89
+ slowPeriod: number;
90
+ showKAMA: boolean;
91
+ }
92
+ export interface SARSchedulerConfig {
93
+ step: number;
94
+ maxStep: number;
95
+ showSAR: boolean;
96
+ }
97
+ export interface SuperTrendSchedulerConfig {
98
+ atrPeriod: number;
99
+ multiplier: number;
100
+ showSuperTrend: boolean;
101
+ }
102
+ export interface KeltnerSchedulerConfig {
103
+ emaPeriod: number;
104
+ atrPeriod: number;
105
+ multiplier: number;
106
+ showUpper: boolean;
107
+ showMiddle: boolean;
108
+ showLower: boolean;
109
+ }
110
+ export interface DonchianSchedulerConfig {
111
+ period: number;
112
+ showUpper: boolean;
113
+ showMiddle: boolean;
114
+ showLower: boolean;
115
+ }
116
+ export interface IchimokuSchedulerConfig {
117
+ tenkanPeriod: number;
118
+ kijunPeriod: number;
119
+ spanBPeriod: number;
120
+ displacement: number;
121
+ showTenkan: boolean;
122
+ showKijun: boolean;
123
+ showSpanA: boolean;
124
+ showSpanB: boolean;
125
+ showCloud: boolean;
126
+ showChikou: boolean;
127
+ }
128
+ export interface ROCSchedulerConfig {
129
+ period: number;
130
+ showROC: boolean;
131
+ }
132
+ export interface TRIXSchedulerConfig {
133
+ period: number;
134
+ signalPeriod: number;
135
+ showTRIX: boolean;
136
+ showSignal: boolean;
137
+ }
138
+ export interface HVSchedulerConfig {
139
+ period: number;
140
+ annualizationFactor: number;
141
+ showHV: boolean;
142
+ }
143
+ export interface ParkinsonSchedulerConfig {
144
+ period: number;
145
+ annualizationFactor: number;
146
+ showParkinson: boolean;
147
+ }
148
+ export interface ChaikinVolSchedulerConfig {
149
+ emaPeriod: number;
150
+ rocPeriod: number;
151
+ showChaikinVol: boolean;
152
+ }
153
+ export interface VMASchedulerConfig {
154
+ period: number;
155
+ showVMA: boolean;
156
+ }
157
+ export interface OBVSchedulerConfig {
158
+ showOBV: boolean;
159
+ }
160
+ export interface PVTSchedulerConfig {
161
+ showPVT: boolean;
162
+ }
163
+ export interface VWAPSchedulerConfig {
164
+ sessionResetGapMs: number;
165
+ showVWAP: boolean;
166
+ }
167
+ export interface CMFSchedulerConfig {
168
+ period: number;
169
+ showCMF: boolean;
170
+ }
171
+ export interface MFISchedulerConfig {
172
+ period: number;
173
+ showMFI: boolean;
174
+ }
175
+ export interface PivotSchedulerConfig {
176
+ showPP: boolean;
177
+ showR1: boolean;
178
+ showR2: boolean;
179
+ showR3: boolean;
180
+ showS1: boolean;
181
+ showS2: boolean;
182
+ showS3: boolean;
183
+ }
184
+ export interface FibSchedulerConfig {
185
+ period: number;
186
+ showLevels: boolean;
187
+ }
188
+ export interface StructureSchedulerConfig {
189
+ leftWindow: number;
190
+ rightWindow: number;
191
+ breakoutSource: 'close' | 'wick';
192
+ showSwingLabels: boolean;
193
+ showBOS: boolean;
194
+ showCHOCH: boolean;
195
+ showProvisional: boolean;
196
+ }
197
+ export interface ZonesSchedulerConfig {
198
+ showFVG: boolean;
199
+ showOB: boolean;
200
+ showFilledZones: boolean;
201
+ obLookback: number;
202
+ }
203
+ export interface VolumeProfileSchedulerConfig {
204
+ bins: number;
205
+ lookback: number;
206
+ valueAreaPercent: number;
207
+ showPOC: boolean;
208
+ showValueArea: boolean;
209
+ }
66
210
  export interface InitRequest {
67
211
  type: 'init';
68
212
  protocolVersion: number;
@@ -123,6 +267,33 @@ export interface IndicatorConfigSnapshot {
123
267
  kst: KSTSchedulerConfig;
124
268
  fastk: FASTKSchedulerConfig;
125
269
  macd: MACDSchedulerConfig;
270
+ atr: ATRSchedulerConfig;
271
+ wma: WMASchedulerConfig;
272
+ dema: DEMASchedulerConfig;
273
+ tema: TEMASchedulerConfig;
274
+ hma: HMASchedulerConfig;
275
+ kama: KAMASchedulerConfig;
276
+ sar: SARSchedulerConfig;
277
+ supertrend: SuperTrendSchedulerConfig;
278
+ keltner: KeltnerSchedulerConfig;
279
+ donchian: DonchianSchedulerConfig;
280
+ ichimoku: IchimokuSchedulerConfig;
281
+ roc: ROCSchedulerConfig;
282
+ trix: TRIXSchedulerConfig;
283
+ hv: HVSchedulerConfig;
284
+ parkinson: ParkinsonSchedulerConfig;
285
+ chaikinVol: ChaikinVolSchedulerConfig;
286
+ vma: VMASchedulerConfig;
287
+ obv: OBVSchedulerConfig;
288
+ pvt: PVTSchedulerConfig;
289
+ vwap: VWAPSchedulerConfig;
290
+ cmf: CMFSchedulerConfig;
291
+ mfi: MFISchedulerConfig;
292
+ pivot: PivotSchedulerConfig;
293
+ fib: FibSchedulerConfig;
294
+ structure: StructureSchedulerConfig;
295
+ zones: ZonesSchedulerConfig;
296
+ volumeProfile: VolumeProfileSchedulerConfig;
126
297
  rsiPaneId: string;
127
298
  cciPaneId: string;
128
299
  stochPaneId: string;
@@ -131,6 +302,33 @@ export interface IndicatorConfigSnapshot {
131
302
  kstPaneId: string;
132
303
  fastkPaneId: string;
133
304
  macdPaneId: string;
305
+ atrPaneId: string;
306
+ wmaPaneId: string;
307
+ demaPaneId: string;
308
+ temaPaneId: string;
309
+ hmaPaneId: string;
310
+ kamaPaneId: string;
311
+ sarPaneId: string;
312
+ supertrendPaneId: string;
313
+ keltnerPaneId: string;
314
+ donchianPaneId: string;
315
+ ichimokuPaneId: string;
316
+ rocPaneId: string;
317
+ trixPaneId: string;
318
+ hvPaneId: string;
319
+ parkinsonPaneId: string;
320
+ chaikinVolPaneId: string;
321
+ vmaPaneId: string;
322
+ obvPaneId: string;
323
+ pvtPaneId: string;
324
+ vwapPaneId: string;
325
+ cmfPaneId: string;
326
+ mfiPaneId: string;
327
+ pivotPaneId: string;
328
+ fibPaneId: string;
329
+ structurePaneId: string;
330
+ zonesPaneId: string;
331
+ volumeProfilePaneId: string;
134
332
  }
135
333
  export interface IndicatorSeriesBundle {
136
334
  ma: {
@@ -182,6 +380,115 @@ export interface IndicatorSeriesBundle {
182
380
  series: MACDPoint[];
183
381
  params: MACDSchedulerConfig;
184
382
  };
383
+ atr: {
384
+ series: (number | undefined)[];
385
+ params: ATRSchedulerConfig;
386
+ };
387
+ wma: {
388
+ series: (number | undefined)[];
389
+ params: WMASchedulerConfig;
390
+ };
391
+ dema: {
392
+ series: (number | undefined)[];
393
+ params: DEMASchedulerConfig;
394
+ };
395
+ tema: {
396
+ series: (number | undefined)[];
397
+ params: TEMASchedulerConfig;
398
+ };
399
+ hma: {
400
+ series: (number | undefined)[];
401
+ params: HMASchedulerConfig;
402
+ };
403
+ kama: {
404
+ series: (number | undefined)[];
405
+ params: KAMASchedulerConfig;
406
+ };
407
+ sar: {
408
+ series: (SARPoint | undefined)[];
409
+ params: SARSchedulerConfig;
410
+ };
411
+ supertrend: {
412
+ series: (SuperTrendPoint | undefined)[];
413
+ params: SuperTrendSchedulerConfig;
414
+ };
415
+ keltner: {
416
+ series: (KeltnerPoint | undefined)[];
417
+ params: KeltnerSchedulerConfig;
418
+ };
419
+ donchian: {
420
+ series: (DonchianPoint | undefined)[];
421
+ params: DonchianSchedulerConfig;
422
+ };
423
+ ichimoku: {
424
+ series: (IchimokuPoint | undefined)[];
425
+ params: IchimokuSchedulerConfig;
426
+ };
427
+ roc: {
428
+ series: (number | undefined)[];
429
+ params: ROCSchedulerConfig;
430
+ };
431
+ trix: {
432
+ series: (number | undefined)[];
433
+ signalSeries: (number | undefined)[];
434
+ params: TRIXSchedulerConfig;
435
+ };
436
+ hv: {
437
+ series: (number | undefined)[];
438
+ params: HVSchedulerConfig;
439
+ };
440
+ parkinson: {
441
+ series: (number | undefined)[];
442
+ params: ParkinsonSchedulerConfig;
443
+ };
444
+ chaikinVol: {
445
+ series: (number | undefined)[];
446
+ params: ChaikinVolSchedulerConfig;
447
+ };
448
+ vma: {
449
+ series: (number | undefined)[];
450
+ params: VMASchedulerConfig;
451
+ };
452
+ obv: {
453
+ series: (number | undefined)[];
454
+ params: OBVSchedulerConfig;
455
+ };
456
+ pvt: {
457
+ series: (number | undefined)[];
458
+ params: PVTSchedulerConfig;
459
+ };
460
+ vwap: {
461
+ series: (number | undefined)[];
462
+ params: VWAPSchedulerConfig;
463
+ };
464
+ cmf: {
465
+ series: (number | undefined)[];
466
+ params: CMFSchedulerConfig;
467
+ };
468
+ mfi: {
469
+ series: (number | undefined)[];
470
+ params: MFISchedulerConfig;
471
+ };
472
+ pivot: {
473
+ series: (PivotPoint | undefined)[];
474
+ params: PivotSchedulerConfig;
475
+ };
476
+ fib: {
477
+ series: (FibPoint | undefined)[];
478
+ params: FibSchedulerConfig;
479
+ };
480
+ structure: {
481
+ series: StructureSnapshot;
482
+ params: StructureSchedulerConfig;
483
+ };
484
+ zones: {
485
+ series: Zone[];
486
+ params: ZonesSchedulerConfig;
487
+ };
488
+ volumeProfile: {
489
+ series: VolumeProfileResult;
490
+ params: VolumeProfileSchedulerConfig;
491
+ };
185
492
  /** 本次计算中实际变更的指标列表 */
186
493
  _changed: string[];
187
494
  }
@@ -0,0 +1,26 @@
1
+ import { BaseIndicatorState } from '../../plugin';
2
+ export type ZoneKind = 'FVG_BULL' | 'FVG_BEAR' | 'OB_BULL' | 'OB_BEAR';
3
+ export interface Zone {
4
+ kind: ZoneKind;
5
+ startIndex: number;
6
+ endIndex?: number;
7
+ high: number;
8
+ low: number;
9
+ }
10
+ export interface ZonesRenderState extends BaseIndicatorState {
11
+ timestamp: number;
12
+ series: Zone[];
13
+ params: {
14
+ showFVG: boolean;
15
+ showOB: boolean;
16
+ showFilledZones: boolean;
17
+ obLookback: number;
18
+ };
19
+ valueMin: number;
20
+ valueMax: number;
21
+ visibleMin: number;
22
+ visibleMax: number;
23
+ }
24
+ export declare const createZonesStateKey: (paneId: string) => `indicator:${string}:${string}`;
25
+ export declare const DEFAULT_ZONES_OB_LOOKBACK = 5;
26
+ export declare const EMPTY_ZONES_STATE: ZonesRenderState;
@@ -1,4 +1,5 @@
1
1
  import { CandleWebGLSurface, LineWebGLSurface } from './renderers/webgl/candleSurface';
2
+ import { SharedWebGLSurface, WebGLRegion } from './renderers/webgl/sharedWebGLSurface';
2
3
  export type PaneRendererDom = {
3
4
  mainCanvas: HTMLCanvasElement;
4
5
  overlayCanvas: HTMLCanvasElement;
@@ -24,13 +25,14 @@ export declare class PaneRenderer {
24
25
  private opt;
25
26
  private contexts;
26
27
  private webgl;
27
- constructor(dom: PaneRendererDom, pane: import('./layout/pane').Pane, opt: PaneRendererOptions);
28
+ constructor(dom: PaneRendererDom, pane: import('./layout/pane').Pane, opt: PaneRendererOptions, sharedWebGLSurface: SharedWebGLSurface);
28
29
  /** 获取关联的 Pane 实例 */
29
30
  getPane(): import('./layout/pane').Pane;
30
31
  /** 获取 DOM 元素 */
31
32
  getDom(): PaneRendererDom;
32
33
  getContexts(): PaneRendererContexts;
33
34
  getWebGL(): PaneRendererWebGLHandles;
35
+ setWebGLRegion(region: WebGLRegion): void;
34
36
  /**
35
37
  * 调整 Canvas 尺寸
36
38
  * @param width pane 宽度(逻辑像素)
@@ -0,0 +1,17 @@
1
+ import { RendererPluginWithHost, PluginHost } from '../../../plugin';
2
+ export interface ATRRendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createATRRendererPlugin(options?: ATRRendererOptions): RendererPluginWithHost;
6
+ /**
7
+ * 获取 ATR 标题信息(供 paneTitle 使用)
8
+ */
9
+ export declare function getATRTitleInfo(index: number, period: number, pluginHost: PluginHost, paneId?: string): {
10
+ name: string;
11
+ params: number[];
12
+ values: Array<{
13
+ label: string;
14
+ value: number;
15
+ color: string;
16
+ }>;
17
+ } | null;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createChaikinVolRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createCMFRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface DEMARendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createDEMARendererPlugin(options?: DEMARendererOptions): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface DonchianRendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createDonchianRendererPlugin(options?: DonchianRendererOptions): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createFibRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface HMARendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createHMARendererPlugin(options?: HMARendererOptions): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createHVRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface IchimokuRendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createIchimokuRendererPlugin(options?: IchimokuRendererOptions): RendererPluginWithHost;
@@ -13,10 +13,37 @@ export { createMOMRendererPlugin, type MOMRendererOptions, getMOMTitleInfo } fro
13
13
  export { createWMSRRendererPlugin, type WMSRRendererOptions, getWMSRTitleInfo } from './wmsr';
14
14
  export { createKSTRendererPlugin, type KSTRendererOptions, getKSTTitleInfo } from './kst';
15
15
  export { createFASTKRendererPlugin, type FASTKRendererOptions, getFASTKTitleInfo } from './fastk';
16
+ export { createATRRendererPlugin, type ATRRendererOptions, getATRTitleInfo } from './atr';
17
+ export { createWMARendererPlugin } from './wma';
18
+ export { createDEMARendererPlugin } from './dema';
19
+ export { createTEMARendererPlugin } from './tema';
20
+ export { createHMARendererPlugin } from './hma';
21
+ export { createKAMARendererPlugin } from './kama';
22
+ export { createSARRendererPlugin } from './sar';
23
+ export { createSuperTrendRendererPlugin } from './supertrend';
24
+ export { createKeltnerRendererPlugin } from './keltner';
25
+ export { createDonchianRendererPlugin } from './donchian';
26
+ export { createIchimokuRendererPlugin } from './ichimoku';
27
+ export { createROCRendererPlugin } from './roc';
28
+ export { createTRIXRendererPlugin } from './trix';
29
+ export { createHVRendererPlugin } from './hv';
30
+ export { createParkinsonRendererPlugin } from './parkinson';
31
+ export { createChaikinVolRendererPlugin } from './chaikinVol';
32
+ export { createVMARendererPlugin } from './vma';
33
+ export { createOBVRendererPlugin } from './obv';
34
+ export { createPVTRendererPlugin } from './pvt';
35
+ export { createVWAPRendererPlugin } from './vwap';
36
+ export { createCMFRendererPlugin } from './cmf';
37
+ export { createMFIRendererPlugin } from './mfi';
38
+ export { createPivotRendererPlugin } from './pivot';
39
+ export { createFibRendererPlugin } from './fib';
40
+ export { createStructureRendererPlugin } from './structure';
41
+ export { createZonesRendererPlugin } from './zones';
42
+ export { createVolumeProfileRendererPlugin } from './volumeProfile';
16
43
  /**
17
44
  * 副图指标类型
18
45
  */
19
- export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK';
46
+ export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK' | 'ATR' | 'WMA' | 'DEMA' | 'TEMA' | 'HMA' | 'KAMA' | 'SAR' | 'SUPERTREND' | 'KELTNER' | 'DONCHIAN' | 'ICHIMOKU' | 'ROC' | 'TRIX' | 'HV' | 'PARKINSON' | 'CHAIKIN_VOL' | 'VMA' | 'OBV' | 'PVT' | 'VWAP' | 'CMF' | 'MFI' | 'PIVOT' | 'FIB' | 'STRUCTURE' | 'ZONES' | 'VOLUME_PROFILE';
20
47
  /**
21
48
  * 渲染器工厂选项
22
49
  */
@@ -0,0 +1,13 @@
1
+ import { ParamConfig } from '../../../components/IndicatorParams.vue';
2
+ export interface Indicator {
3
+ id: string;
4
+ label: string;
5
+ name: string;
6
+ pane: 'main' | 'sub';
7
+ description?: string;
8
+ params?: ParamConfig[];
9
+ }
10
+ export declare const mainIndicators: Indicator[];
11
+ export declare const subIndicators: Indicator[];
12
+ export declare function findIndicator(id: string): Indicator | undefined;
13
+ export declare function isSubIndicatorId(id: string): boolean;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface KAMARendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createKAMARendererPlugin(options?: KAMARendererOptions): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface KeltnerRendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createKeltnerRendererPlugin(options?: KeltnerRendererOptions): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createMFIRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createOBVRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createParkinsonRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createPivotRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createPVTRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface ROCRendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createROCRendererPlugin(options?: ROCRendererOptions): RendererPluginWithHost;
@@ -0,0 +1,5 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export interface SARRendererOptions {
3
+ paneId?: string;
4
+ }
5
+ export declare function createSARRendererPlugin(options?: SARRendererOptions): RendererPluginWithHost;
@@ -0,0 +1,11 @@
1
+ import { RendererPluginWithHost } from '../../../../plugin';
2
+ export declare function createAtrScaleRendererPlugin(options: {
3
+ axisWidth: number;
4
+ paneId: string;
5
+ yPaddingPx?: number;
6
+ getCrosshair?: () => {
7
+ y: number;
8
+ price: number;
9
+ activePaneId: string | null;
10
+ } | null;
11
+ }): RendererPluginWithHost;
@@ -0,0 +1,4 @@
1
+ import { RendererPluginWithHost } from '../../../plugin';
2
+ export declare function createStructureRendererPlugin(options?: {
3
+ paneId?: string;
4
+ }): RendererPluginWithHost;
@@ -0,0 +1,9 @@
1
+ import { TitleInfo } from '../paneTitle';
2
+ import { PluginHost } from '../../../plugin';
3
+ import { SubIndicatorType } from '.';
4
+ export interface SubPaneIndicatorConfig {
5
+ defaultParams: Record<string, number | boolean | string>;
6
+ getTitleInfo: (data: any[], index: number | null, params: Record<string, number | boolean | string>, pluginHost: PluginHost, paneId: string) => TitleInfo | null;
7
+ }
8
+ export declare const SUB_PANE_INDICATOR_CONFIGS: Record<SubIndicatorType, SubPaneIndicatorConfig>;
9
+ export declare const SUB_PANE_INDICATORS: SubIndicatorType[];