@363045841yyt/klinechart 0.7.0 → 0.7.3-alpha.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 (233) hide show
  1. package/README.md +10 -6
  2. package/dist/components/DrawingStyleToolbar.vue.d.ts +28 -0
  3. package/dist/components/DrawingStyleToolbar.vue.d.ts.map +1 -0
  4. package/dist/{src/components → components}/IndicatorParams.vue.d.ts +3 -3
  5. package/dist/components/IndicatorParams.vue.d.ts.map +1 -0
  6. package/dist/{src/components → components}/IndicatorSelector.vue.d.ts +4 -4
  7. package/dist/components/IndicatorSelector.vue.d.ts.map +1 -0
  8. package/dist/components/KLineChart.vue.d.ts +63 -0
  9. package/dist/components/KLineChart.vue.d.ts.map +1 -0
  10. package/dist/components/KLineTooltip.vue.d.ts +30 -0
  11. package/dist/components/KLineTooltip.vue.d.ts.map +1 -0
  12. package/dist/{src/components → components}/LeftToolbar.vue.d.ts +3 -2
  13. package/dist/components/LeftToolbar.vue.d.ts.map +1 -0
  14. package/dist/components/MarkerTooltip.vue.d.ts +26 -0
  15. package/dist/components/MarkerTooltip.vue.d.ts.map +1 -0
  16. package/dist/components/index.d.ts +8 -0
  17. package/dist/components/index.d.ts.map +1 -0
  18. package/dist/{src/composables → composables}/useFullscreenTeleportTarget.d.ts +1 -0
  19. package/dist/composables/useFullscreenTeleportTarget.d.ts.map +1 -0
  20. package/dist/{src/debug → debug}/canvasProfiler.d.ts +1 -0
  21. package/dist/debug/canvasProfiler.d.ts.map +1 -0
  22. package/dist/index.cjs +2 -49
  23. package/dist/index.d.cts +124 -0
  24. package/dist/index.d.ts +124 -2
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +1470 -16916
  27. package/dist/klinechart.css +1 -1
  28. package/dist/version.d.ts +3 -0
  29. package/dist/version.d.ts.map +1 -0
  30. package/package.json +52 -81
  31. package/src/__tests__/_mockController.ts +192 -0
  32. package/src/__tests__/contract.test.ts +132 -0
  33. package/src/components/DrawingStyleToolbar.vue +199 -0
  34. package/src/components/IndicatorParams.vue +570 -0
  35. package/src/components/IndicatorSelector.vue +1042 -0
  36. package/src/components/KLineChart.vue +1570 -0
  37. package/src/components/KLineTooltip.vue +200 -0
  38. package/src/components/LeftToolbar.vue +844 -0
  39. package/src/components/MarkerTooltip.vue +155 -0
  40. package/src/components/index.ts +7 -0
  41. package/src/composables/useFullscreenTeleportTarget.ts +18 -0
  42. package/src/debug/canvasProfiler.ts +296 -0
  43. package/src/index.ts +402 -0
  44. package/src/version.ts +3 -0
  45. package/LICENSE +0 -21
  46. package/dist/favicon.ico +0 -0
  47. package/dist/mock-stock-data.json +0 -1
  48. package/dist/schema-CzmPW09E.cjs +0 -1
  49. package/dist/schema-DBMGp6Af.js +0 -437
  50. package/dist/src/App.vue.d.ts +0 -4
  51. package/dist/src/api/data/baostock.d.ts +0 -90
  52. package/dist/src/api/data/baostock.integration.test.d.ts +0 -1
  53. package/dist/src/api/data/index.d.ts +0 -26
  54. package/dist/src/api/data/kLine.d.ts +0 -11
  55. package/dist/src/api/data/types.d.ts +0 -33
  56. package/dist/src/api/data/unified.d.ts +0 -37
  57. package/dist/src/components/DrawingStyleToolbar.vue.d.ts +0 -12
  58. package/dist/src/components/KLineChart.vue.d.ts +0 -100
  59. package/dist/src/components/KLineTooltip.vue.d.ts +0 -17
  60. package/dist/src/components/MarkerTooltip.vue.d.ts +0 -13
  61. package/dist/src/components/index.d.ts +0 -2
  62. package/dist/src/config/chartSettings.d.ts +0 -69
  63. package/dist/src/core/chart-store.d.ts +0 -74
  64. package/dist/src/core/chart.d.ts +0 -420
  65. package/dist/src/core/controller/interaction.d.ts +0 -167
  66. package/dist/src/core/controller/markerInteraction.d.ts +0 -28
  67. package/dist/src/core/controller/pinchTracker.d.ts +0 -18
  68. package/dist/src/core/controller/tooltipPosition.d.ts +0 -21
  69. package/dist/src/core/draw/pixelAlign.d.ts +0 -114
  70. package/dist/src/core/drawing/index.d.ts +0 -47
  71. package/dist/src/core/drawing/interaction.d.ts +0 -75
  72. package/dist/src/core/drawing/plugin.d.ts +0 -27
  73. package/dist/src/core/indicators/atrState.d.ts +0 -16
  74. package/dist/src/core/indicators/bollState.d.ts +0 -34
  75. package/dist/src/core/indicators/calculators.d.ts +0 -465
  76. package/dist/src/core/indicators/cciState.d.ts +0 -15
  77. package/dist/src/core/indicators/chaikinVolState.d.ts +0 -18
  78. package/dist/src/core/indicators/cmfState.d.ts +0 -16
  79. package/dist/src/core/indicators/demaState.d.ts +0 -16
  80. package/dist/src/core/indicators/donchianState.d.ts +0 -23
  81. package/dist/src/core/indicators/eneState.d.ts +0 -30
  82. package/dist/src/core/indicators/expmaState.d.ts +0 -30
  83. package/dist/src/core/indicators/fastkState.d.ts +0 -15
  84. package/dist/src/core/indicators/fibState.d.ts +0 -26
  85. package/dist/src/core/indicators/hmaState.d.ts +0 -16
  86. package/dist/src/core/indicators/hvState.d.ts +0 -18
  87. package/dist/src/core/indicators/ichimokuState.d.ts +0 -44
  88. package/dist/src/core/indicators/indicator.worker.d.ts +0 -5
  89. package/dist/src/core/indicators/indicatorRuntime.d.ts +0 -126
  90. package/dist/src/core/indicators/kamaState.d.ts +0 -20
  91. package/dist/src/core/indicators/keltnerState.d.ts +0 -27
  92. package/dist/src/core/indicators/kstState.d.ts +0 -21
  93. package/dist/src/core/indicators/maState.d.ts +0 -26
  94. package/dist/src/core/indicators/macdState.d.ts +0 -58
  95. package/dist/src/core/indicators/mfiState.d.ts +0 -16
  96. package/dist/src/core/indicators/momState.d.ts +0 -15
  97. package/dist/src/core/indicators/obvState.d.ts +0 -14
  98. package/dist/src/core/indicators/parkinsonState.d.ts +0 -18
  99. package/dist/src/core/indicators/pivotState.d.ts +0 -29
  100. package/dist/src/core/indicators/pvtState.d.ts +0 -14
  101. package/dist/src/core/indicators/rocState.d.ts +0 -16
  102. package/dist/src/core/indicators/rsiState.d.ts +0 -39
  103. package/dist/src/core/indicators/sarState.d.ts +0 -26
  104. package/dist/src/core/indicators/scheduler.d.ts +0 -237
  105. package/dist/src/core/indicators/soa.d.ts +0 -115
  106. package/dist/src/core/indicators/stateComposer.d.ts +0 -146
  107. package/dist/src/core/indicators/stochState.d.ts +0 -18
  108. package/dist/src/core/indicators/structureState.d.ts +0 -43
  109. package/dist/src/core/indicators/supertrendState.d.ts +0 -22
  110. package/dist/src/core/indicators/temaState.d.ts +0 -16
  111. package/dist/src/core/indicators/trixState.d.ts +0 -20
  112. package/dist/src/core/indicators/vmaState.d.ts +0 -16
  113. package/dist/src/core/indicators/volumeProfileState.d.ts +0 -34
  114. package/dist/src/core/indicators/vwapState.d.ts +0 -16
  115. package/dist/src/core/indicators/wmaState.d.ts +0 -16
  116. package/dist/src/core/indicators/wmsrState.d.ts +0 -15
  117. package/dist/src/core/indicators/workerProtocol.d.ts +0 -496
  118. package/dist/src/core/indicators/zonesState.d.ts +0 -26
  119. package/dist/src/core/layout/pane.d.ts +0 -103
  120. package/dist/src/core/marker/registry.d.ts +0 -174
  121. package/dist/src/core/paneRenderer.d.ts +0 -45
  122. package/dist/src/core/renderers/Indicator/atr.d.ts +0 -17
  123. package/dist/src/core/renderers/Indicator/boll.d.ts +0 -2
  124. package/dist/src/core/renderers/Indicator/cci.d.ts +0 -21
  125. package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +0 -4
  126. package/dist/src/core/renderers/Indicator/cmf.d.ts +0 -4
  127. package/dist/src/core/renderers/Indicator/dema.d.ts +0 -5
  128. package/dist/src/core/renderers/Indicator/donchian.d.ts +0 -5
  129. package/dist/src/core/renderers/Indicator/ene.d.ts +0 -10
  130. package/dist/src/core/renderers/Indicator/expma.d.ts +0 -2
  131. package/dist/src/core/renderers/Indicator/fastk.d.ts +0 -21
  132. package/dist/src/core/renderers/Indicator/fib.d.ts +0 -4
  133. package/dist/src/core/renderers/Indicator/hma.d.ts +0 -5
  134. package/dist/src/core/renderers/Indicator/hv.d.ts +0 -4
  135. package/dist/src/core/renderers/Indicator/ichimoku.d.ts +0 -5
  136. package/dist/src/core/renderers/Indicator/index.d.ts +0 -59
  137. package/dist/src/core/renderers/Indicator/indicatorData.d.ts +0 -13
  138. package/dist/src/core/renderers/Indicator/kama.d.ts +0 -5
  139. package/dist/src/core/renderers/Indicator/keltner.d.ts +0 -5
  140. package/dist/src/core/renderers/Indicator/kst.d.ts +0 -21
  141. package/dist/src/core/renderers/Indicator/ma.d.ts +0 -3
  142. package/dist/src/core/renderers/Indicator/macd.d.ts +0 -49
  143. package/dist/src/core/renderers/Indicator/macdLegend.d.ts +0 -12
  144. package/dist/src/core/renderers/Indicator/mainIndicatorLegend.d.ts +0 -10
  145. package/dist/src/core/renderers/Indicator/mfi.d.ts +0 -4
  146. package/dist/src/core/renderers/Indicator/mom.d.ts +0 -21
  147. package/dist/src/core/renderers/Indicator/obv.d.ts +0 -4
  148. package/dist/src/core/renderers/Indicator/parkinson.d.ts +0 -4
  149. package/dist/src/core/renderers/Indicator/pivot.d.ts +0 -4
  150. package/dist/src/core/renderers/Indicator/pvt.d.ts +0 -4
  151. package/dist/src/core/renderers/Indicator/roc.d.ts +0 -5
  152. package/dist/src/core/renderers/Indicator/rsi.d.ts +0 -32
  153. package/dist/src/core/renderers/Indicator/sar.d.ts +0 -5
  154. package/dist/src/core/renderers/Indicator/scale/atr_scale.d.ts +0 -11
  155. package/dist/src/core/renderers/Indicator/scale/cci_scale.d.ts +0 -11
  156. package/dist/src/core/renderers/Indicator/scale/fastk_scale.d.ts +0 -11
  157. package/dist/src/core/renderers/Indicator/scale/indicator_scale.d.ts +0 -35
  158. package/dist/src/core/renderers/Indicator/scale/kst_scale.d.ts +0 -11
  159. package/dist/src/core/renderers/Indicator/scale/macd_scale.d.ts +0 -14
  160. package/dist/src/core/renderers/Indicator/scale/mom_scale.d.ts +0 -11
  161. package/dist/src/core/renderers/Indicator/scale/rsi_scale.d.ts +0 -11
  162. package/dist/src/core/renderers/Indicator/scale/stoch_scale.d.ts +0 -11
  163. package/dist/src/core/renderers/Indicator/scale/volume_scale.d.ts +0 -14
  164. package/dist/src/core/renderers/Indicator/scale/wmsr_scale.d.ts +0 -11
  165. package/dist/src/core/renderers/Indicator/stoch.d.ts +0 -21
  166. package/dist/src/core/renderers/Indicator/structure.d.ts +0 -4
  167. package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +0 -9
  168. package/dist/src/core/renderers/Indicator/supertrend.d.ts +0 -5
  169. package/dist/src/core/renderers/Indicator/tema.d.ts +0 -5
  170. package/dist/src/core/renderers/Indicator/trix.d.ts +0 -5
  171. package/dist/src/core/renderers/Indicator/vma.d.ts +0 -4
  172. package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +0 -4
  173. package/dist/src/core/renderers/Indicator/vwap.d.ts +0 -4
  174. package/dist/src/core/renderers/Indicator/wma.d.ts +0 -5
  175. package/dist/src/core/renderers/Indicator/wmsr.d.ts +0 -21
  176. package/dist/src/core/renderers/Indicator/zones.d.ts +0 -4
  177. package/dist/src/core/renderers/candle.d.ts +0 -20
  178. package/dist/src/core/renderers/crosshair.d.ts +0 -17
  179. package/dist/src/core/renderers/customMarkers.d.ts +0 -6
  180. package/dist/src/core/renderers/extremaMarkers.d.ts +0 -5
  181. package/dist/src/core/renderers/gridLines.d.ts +0 -7
  182. package/dist/src/core/renderers/lastPrice.d.ts +0 -9
  183. package/dist/src/core/renderers/paneTitle.d.ts +0 -40
  184. package/dist/src/core/renderers/subVolume.d.ts +0 -13
  185. package/dist/src/core/renderers/timeAxis.d.ts +0 -14
  186. package/dist/src/core/renderers/webgl/candleSurface.d.ts +0 -80
  187. package/dist/src/core/renderers/webgl/sharedWebGLSurface.d.ts +0 -33
  188. package/dist/src/core/renderers/yAxis.d.ts +0 -14
  189. package/dist/src/core/scale/logFormula.d.ts +0 -66
  190. package/dist/src/core/scale/price.d.ts +0 -11
  191. package/dist/src/core/scale/priceScale.d.ts +0 -87
  192. package/dist/src/core/subPaneManager.d.ts +0 -22
  193. package/dist/src/core/theme/colors.d.ts +0 -243
  194. package/dist/src/core/theme/fonts.d.ts +0 -12
  195. package/dist/src/core/utils/klineConfig.d.ts +0 -28
  196. package/dist/src/core/utils/tickCount.d.ts +0 -8
  197. package/dist/src/core/utils/tickPosition.d.ts +0 -24
  198. package/dist/src/core/utils/zoom.d.ts +0 -30
  199. package/dist/src/core/viewport/viewport.d.ts +0 -31
  200. package/dist/src/index.d.ts +0 -8
  201. package/dist/src/main.d.ts +0 -0
  202. package/dist/src/plugin/ConfigManager.d.ts +0 -31
  203. package/dist/src/plugin/EventBus.d.ts +0 -34
  204. package/dist/src/plugin/HookSystem.d.ts +0 -28
  205. package/dist/src/plugin/PluginHost.d.ts +0 -54
  206. package/dist/src/plugin/PluginRegistry.d.ts +0 -40
  207. package/dist/src/plugin/StateStore.d.ts +0 -37
  208. package/dist/src/plugin/index.d.ts +0 -11
  209. package/dist/src/plugin/rendererPluginManager.d.ts +0 -77
  210. package/dist/src/plugin/stateKeys.d.ts +0 -6
  211. package/dist/src/plugin/types.d.ts +0 -439
  212. package/dist/src/semantic/controller.d.ts +0 -35
  213. package/dist/src/semantic/drawShape.d.ts +0 -14
  214. package/dist/src/semantic/index.d.ts +0 -8
  215. package/dist/src/semantic/types.d.ts +0 -298
  216. package/dist/src/semantic/validator.d.ts +0 -43
  217. package/dist/src/test-setup.d.ts +0 -6
  218. package/dist/src/types/kLine.d.ts +0 -3
  219. package/dist/src/types/price.d.ts +0 -31
  220. package/dist/src/types/volumePrice.d.ts +0 -26
  221. package/dist/src/utils/cache.d.ts +0 -33
  222. package/dist/src/utils/dateFormat.d.ts +0 -83
  223. package/dist/src/utils/http.d.ts +0 -14
  224. package/dist/src/utils/kLineDraw/MA.d.ts +0 -12
  225. package/dist/src/utils/kLineDraw/axis.d.ts +0 -150
  226. package/dist/src/utils/kLineDraw/grid.d.ts +0 -30
  227. package/dist/src/utils/kLineDraw/kLine.d.ts +0 -15
  228. package/dist/src/utils/kline/format.d.ts +0 -14
  229. package/dist/src/utils/kline/viewport.d.ts +0 -10
  230. package/dist/src/utils/logger.d.ts +0 -5
  231. package/dist/src/utils/mock/genRandomPriceData.d.ts +0 -3
  232. package/dist/src/utils/priceToY.d.ts +0 -7
  233. package/dist/src/utils/volumePrice.d.ts +0 -54
@@ -1,237 +0,0 @@
1
- import { PluginHost } from '../../plugin';
2
- import { KLineData } from '../../types/price';
3
- import { BOLLSchedulerConfig, EXPMASchedulerConfig, ENESchedulerConfig, RSISchedulerConfig, CCISchedulerConfig, STOCHSchedulerConfig, MOMSchedulerConfig, WMSRSchedulerConfig, KSTSchedulerConfig, FASTKSchedulerConfig, MACDSchedulerConfig, ATRSchedulerConfig, WMASchedulerConfig, DEMASchedulerConfig, TEMASchedulerConfig, HMASchedulerConfig, KAMASchedulerConfig, SARSchedulerConfig, SuperTrendSchedulerConfig, KeltnerSchedulerConfig, DonchianSchedulerConfig, IchimokuSchedulerConfig, ROCSchedulerConfig, TRIXSchedulerConfig, HVSchedulerConfig, ParkinsonSchedulerConfig, ChaikinVolSchedulerConfig, VMASchedulerConfig, OBVSchedulerConfig, PVTSchedulerConfig, VWAPSchedulerConfig, CMFSchedulerConfig, MFISchedulerConfig, PivotSchedulerConfig, FibSchedulerConfig, StructureSchedulerConfig, ZonesSchedulerConfig, VolumeProfileSchedulerConfig } from './workerProtocol';
4
- import { MAFlags } from './calculators';
5
- /**
6
- * 可见范围
7
- */
8
- interface VisibleRange {
9
- start: number;
10
- end: number;
11
- }
12
- export type { BOLLSchedulerConfig, EXPMASchedulerConfig, ENESchedulerConfig, RSISchedulerConfig, CCISchedulerConfig, STOCHSchedulerConfig, MOMSchedulerConfig, WMSRSchedulerConfig, KSTSchedulerConfig, FASTKSchedulerConfig, MACDSchedulerConfig, ATRSchedulerConfig, WMASchedulerConfig, DEMASchedulerConfig, TEMASchedulerConfig, HMASchedulerConfig, KAMASchedulerConfig, SARSchedulerConfig, SuperTrendSchedulerConfig, KeltnerSchedulerConfig, DonchianSchedulerConfig, IchimokuSchedulerConfig, ROCSchedulerConfig, TRIXSchedulerConfig, HVSchedulerConfig, ParkinsonSchedulerConfig, ChaikinVolSchedulerConfig, VMASchedulerConfig, OBVSchedulerConfig, PVTSchedulerConfig, VWAPSchedulerConfig, CMFSchedulerConfig, MFISchedulerConfig, PivotSchedulerConfig, FibSchedulerConfig, StructureSchedulerConfig, ZonesSchedulerConfig, VolumeProfileSchedulerConfig, };
13
- /**
14
- * IndicatorScheduler - 主线程 facade
15
- */
16
- export declare class IndicatorScheduler {
17
- private pluginHost;
18
- private visibleRange;
19
- private activeMainIndicators;
20
- private dataVersion;
21
- private configVersion;
22
- private requestId;
23
- private lastAppliedRequestId;
24
- private currentData;
25
- private configSnapshot;
26
- private worker;
27
- private workerReady;
28
- private useWorker;
29
- private pendingRequest;
30
- private inlineRuntime;
31
- private latestResult;
32
- private invalidateCallback;
33
- /** 从 Chart 获取活跃副图 paneId 列表的回调 */
34
- private getActiveSubPaneIds;
35
- constructor();
36
- /**
37
- * 设置 PluginHost
38
- */
39
- setPluginHost(host: PluginHost): void;
40
- /**
41
- * 设置重绘回调
42
- */
43
- setInvalidateCallback(callback: () => void): void;
44
- /**
45
- * 副图增删后通知 scheduler 刷新 active mask
46
- */
47
- onSubPaneChanged(): void;
48
- /**
49
- * 设置活跃副图 paneId 提供者(来自 Chart.getSubPaneIndicators)
50
- */
51
- setActiveSubPaneProvider(provider: () => string[]): void;
52
- /**
53
- * 销毁调度器
54
- */
55
- destroy(): void;
56
- private getDefaultConfig;
57
- private initBackend;
58
- private tryInitWorker;
59
- private initInlineRuntime;
60
- private fallbackToInline;
61
- private terminateWorker;
62
- private handleWorkerMessage;
63
- private handleSeriesResult;
64
- private applyResults;
65
- private updateVisibleStatesOnly;
66
- private buildActiveSubIndicatorMask;
67
- /** 仅保留活跃副图的配置,后端只算这些 */
68
- private buildActiveConfig;
69
- /**
70
- * 数据变更时调用
71
- */
72
- update(data: KLineData[], visibleRange: VisibleRange): void;
73
- /**
74
- * 视口变更时调用 - 同步处理,不走 Worker
75
- */
76
- updateVisibleRange(visibleRange: VisibleRange): void;
77
- /**
78
- * MA 配置变更
79
- */
80
- updateMAConfig(config: MAFlags): void;
81
- /**
82
- * BOLL 配置变更
83
- */
84
- updateBOLLConfig(config: Partial<BOLLSchedulerConfig>): void;
85
- /**
86
- * EXPMA 配置变更
87
- */
88
- updateEXPMAConfig(config: Partial<EXPMASchedulerConfig>): void;
89
- /**
90
- * ENE 配置变更
91
- */
92
- updateENEConfig(config: Partial<ENESchedulerConfig>): void;
93
- /**
94
- * RSI 配置变更
95
- */
96
- updateRSIConfig(config: Partial<RSISchedulerConfig>, paneId?: string): void;
97
- /**
98
- * CCI 配置变更
99
- */
100
- updateCCIConfig(config: Partial<CCISchedulerConfig>, paneId?: string): void;
101
- /**
102
- * STOCH 配置变更
103
- */
104
- updateSTOCHConfig(config: Partial<STOCHSchedulerConfig>, paneId?: string): void;
105
- /**
106
- * MOM 配置变更
107
- */
108
- updateMOMConfig(config: Partial<MOMSchedulerConfig>, paneId?: string): void;
109
- /**
110
- * WMSR 配置变更
111
- */
112
- updateWMSRConfig(config: Partial<WMSRSchedulerConfig>, paneId?: string): void;
113
- /**
114
- * KST 配置变更
115
- */
116
- updateKSTConfig(config: Partial<KSTSchedulerConfig>, paneId?: string): void;
117
- /**
118
- * FASTK 配置变更
119
- */
120
- updateFASTKConfig(config: Partial<FASTKSchedulerConfig>, paneId?: string): void;
121
- /**
122
- * MACD 配置变更
123
- */
124
- updateMACDConfig(config: Partial<MACDSchedulerConfig>, paneId?: string): void;
125
- /**
126
- * ATR 配置变更
127
- */
128
- updateATRConfig(config: Partial<ATRSchedulerConfig>, paneId?: string): void;
129
- /**
130
- * WMA 配置变更
131
- */
132
- updateWMAConfig(config: Partial<WMASchedulerConfig>, paneId?: string): void;
133
- /**
134
- * DEMA 配置变更
135
- */
136
- updateDEMAConfig(config: Partial<DEMASchedulerConfig>, paneId?: string): void;
137
- /**
138
- * TEMA 配置变更
139
- */
140
- updateTEMAConfig(config: Partial<TEMASchedulerConfig>, paneId?: string): void;
141
- /**
142
- * HMA 配置变更
143
- */
144
- updateHMAConfig(config: Partial<HMASchedulerConfig>, paneId?: string): void;
145
- /**
146
- * KAMA 配置变更
147
- */
148
- updateKAMAConfig(config: Partial<KAMASchedulerConfig>, paneId?: string): void;
149
- /**
150
- * SAR 配置变更
151
- */
152
- updateSARConfig(config: Partial<SARSchedulerConfig>, paneId?: string): void;
153
- /**
154
- * SuperTrend 配置变更
155
- */
156
- updateSuperTrendConfig(config: Partial<SuperTrendSchedulerConfig>, paneId?: string): void;
157
- /**
158
- * Keltner 配置变更
159
- */
160
- updateKeltnerConfig(config: Partial<KeltnerSchedulerConfig>, paneId?: string): void;
161
- /**
162
- * Donchian 配置变更
163
- */
164
- updateDonchianConfig(config: Partial<DonchianSchedulerConfig>, paneId?: string): void;
165
- /**
166
- * Ichimoku 配置变更
167
- */
168
- updateIchimokuConfig(config: Partial<IchimokuSchedulerConfig>, paneId?: string): void;
169
- /**
170
- * ROC 配置变更
171
- */
172
- updateROCConfig(config: Partial<ROCSchedulerConfig>, paneId?: string): void;
173
- /**
174
- * TRIX 配置变更
175
- */
176
- updateTRIXConfig(config: Partial<TRIXSchedulerConfig>, paneId?: string): void;
177
- /**
178
- * HV 配置变更
179
- */
180
- updateHVConfig(config: Partial<HVSchedulerConfig>, paneId?: string): void;
181
- /**
182
- * Parkinson 配置变更
183
- */
184
- updateParkinsonConfig(config: Partial<ParkinsonSchedulerConfig>, paneId?: string): void;
185
- /**
186
- * ChaikinVol 配置变更
187
- */
188
- updateChaikinVolConfig(config: Partial<ChaikinVolSchedulerConfig>, paneId?: string): void;
189
- /**
190
- * VMA 配置变更
191
- */
192
- updateVMAConfig(config: Partial<VMASchedulerConfig>, paneId?: string): void;
193
- /**
194
- * OBV 配置变更
195
- */
196
- updateOBVConfig(config: Partial<OBVSchedulerConfig>, paneId?: string): void;
197
- /**
198
- * PVT 配置变更
199
- */
200
- updatePVTConfig(config: Partial<PVTSchedulerConfig>, paneId?: string): void;
201
- /**
202
- * VWAP 配置变更
203
- */
204
- updateVWAPConfig(config: Partial<VWAPSchedulerConfig>, paneId?: string): void;
205
- /** CMF 配置变更 */
206
- updateCMFConfig(config: Partial<CMFSchedulerConfig>, paneId?: string): void;
207
- /** MFI 配置变更 */
208
- updateMFIConfig(config: Partial<MFISchedulerConfig>, paneId?: string): void;
209
- /** Pivot 配置变更 */
210
- updatePivotConfig(config: Partial<PivotSchedulerConfig>, paneId?: string): void;
211
- /** Fib 配置变更 */
212
- updateFibConfig(config: Partial<FibSchedulerConfig>, paneId?: string): void;
213
- /** Structure 配置变更 */
214
- updateStructureConfig(config: Partial<StructureSchedulerConfig>, paneId?: string): void;
215
- /** Zones 配置变更 */
216
- updateZonesConfig(config: Partial<ZonesSchedulerConfig>, paneId?: string): void;
217
- /** Volume Profile 配置变更 */
218
- updateVolumeProfileConfig(config: Partial<VolumeProfileSchedulerConfig>, paneId?: string): void;
219
- /**
220
- * 设置当前激活的主图指标
221
- */
222
- setActiveMainIndicators(indicators: string[]): void;
223
- /**
224
- * 获取主图指标价格范围
225
- */
226
- getMainIndicatorPriceRange(): {
227
- min: number;
228
- max: number;
229
- } | null;
230
- /**
231
- * 强制全部重算
232
- */
233
- recompute(): void;
234
- private triggerRecompute;
235
- private computeWithWorker;
236
- private computeWithInline;
237
- }
@@ -1,115 +0,0 @@
1
- import { KLineData } from '../../types/price';
2
- /**
3
- * KLineData 的 SoA (Structure of Arrays) 布局
4
- * 用于零拷贝传输到 Web Worker
5
- *
6
- * 内存布局:
7
- * | timestamps | opens | highs | lows | closes | volumes | turnovers |
8
- * | 8*N | 8*N | 8*N | 8*N | 8*N | 8*N | 8*N |
9
- *
10
- * 其中 N 为数据长度,每列 8 字节(Float64)
11
- */
12
- export interface KLineSoALayout {
13
- /** 底层缓冲区(SharedArrayBuffer 或 ArrayBuffer) */
14
- buffer: SharedArrayBuffer | ArrayBuffer;
15
- /** 数据长度 */
16
- length: number;
17
- /** 是否使用 SharedArrayBuffer */
18
- isShared: boolean;
19
- /** 是否有成交量数据 */
20
- hasVolume: boolean;
21
- /** 是否有成交额数据 */
22
- hasTurnover: boolean;
23
- /** 时间戳数组(毫秒) */
24
- timestamps: Float64Array;
25
- /** 开盘价数组 */
26
- opens: Float64Array;
27
- /** 最高价数组 */
28
- highs: Float64Array;
29
- /** 最低价数组 */
30
- lows: Float64Array;
31
- /** 收盘价数组 */
32
- closes: Float64Array;
33
- /** 成交量数组(无值时为 0) */
34
- volumes: Float64Array;
35
- /** 成交额数组(无值时为 0) */
36
- turnovers: Float64Array;
37
- }
38
- /**
39
- * SharedKLineBuffer - K线数据的 SoA 管理类
40
- *
41
- * 提供 AoS (KLineData[]) 与 SoA 布局之间的转换,
42
- * 支持 SharedArrayBuffer(零拷贝)和 ArrayBuffer(降级)
43
- */
44
- export declare class SharedKLineBuffer {
45
- /**
46
- * 检测 SharedArrayBuffer 是否可用
47
- * 需要页面有 COOP/COEP 头支持
48
- */
49
- static detectSupport(): boolean;
50
- /**
51
- * 计算 SoA 布局所需的总字节数
52
- */
53
- static calculateByteLength(length: number): number;
54
- /**
55
- * 将 KLineData[] 转换为 SoA 布局
56
- * @param data K线数据数组(AoS 格式)
57
- * @param preferShared 是否优先使用 SharedArrayBuffer(默认 true)
58
- * @returns SoA 布局对象
59
- */
60
- static fromKLineData(data: KLineData[], preferShared?: boolean): KLineSoALayout;
61
- /**
62
- * 更新现有 SoA 布局的数据(尽可能复用缓冲区)
63
- * 如果新数据长度超过原缓冲区,会创建新缓冲区
64
- *
65
- * @param layout 现有 SoA 布局
66
- * @param data 新的 K线数据
67
- * @returns 更新后的 SoA 布局(可能是新对象)
68
- */
69
- static updateExisting(layout: KLineSoALayout, data: KLineData[]): KLineSoALayout;
70
- /**
71
- * 将 SoA 布局转换回 KLineData[](用于测试和兼容性)
72
- * @param layout SoA 布局
73
- * @returns K线数据数组
74
- */
75
- static toKLineData(layout: KLineSoALayout): KLineData[];
76
- /**
77
- * 创建子视图(用于 Worker 中处理部分数据范围)
78
- * @param layout 原 SoA 布局
79
- * @param start 起始索引(包含)
80
- * @param end 结束索引(不包含)
81
- * @returns 子视图对象(共享同一缓冲区)
82
- */
83
- static createSubview(layout: KLineSoALayout, start: number, end: number): KLineSoALayout;
84
- /**
85
- * 获取缓冲区信息(用于调试和序列化)
86
- */
87
- static getBufferInfo(layout: KLineSoALayout): {
88
- byteLength: number;
89
- isShared: boolean;
90
- length: number;
91
- columns: string[];
92
- };
93
- }
94
- /**
95
- * 获取 SoA 布局中 closes 列的视图(最常用列)
96
- * 用于指标计算中快速访问收盘价
97
- */
98
- export declare function getClosesView(layout: KLineSoALayout): Float64Array;
99
- /**
100
- * 获取 SoA 布局中 highs/lows 列的视图
101
- * 用于需要高低价的指标(如 BOLL、STOCH、WMSR)
102
- */
103
- export declare function getHighsLowsViews(layout: KLineSoALayout): {
104
- highs: Float64Array;
105
- lows: Float64Array;
106
- };
107
- /**
108
- * 获取 SoA 布局中 OHLC 四价视图
109
- */
110
- export declare function getOHLCViews(layout: KLineSoALayout): {
111
- opens: Float64Array;
112
- highs: Float64Array;
113
- lows: Float64Array;
114
- closes: Float64Array;
115
- };
@@ -1,146 +0,0 @@
1
- import { MARenderState } from './maState';
2
- import { BOLLRenderState } from './bollState';
3
- import { EXPMARenderState } from './expmaState';
4
- import { ENERenderState } from './eneState';
5
- import { RSIRenderState } from './rsiState';
6
- import { CCIRenderState } from './cciState';
7
- import { STOCHRenderState } from './stochState';
8
- import { MOMRenderState } from './momState';
9
- import { WMSRRenderState } from './wmsrState';
10
- import { KSTRenderState } from './kstState';
11
- import { FASTKRenderState } from './fastkState';
12
- import { MACDRenderState } from './macdState';
13
- import { ATRRenderState } from './atrState';
14
- import { WMARenderState } from './wmaState';
15
- import { DEMARenderState } from './demaState';
16
- import { TEMARenderState } from './temaState';
17
- import { HMARenderState } from './hmaState';
18
- import { KAMARenderState } from './kamaState';
19
- import { SARRenderState } from './sarState';
20
- import { SuperTrendRenderState } from './supertrendState';
21
- import { KeltnerRenderState } from './keltnerState';
22
- import { DonchianRenderState } from './donchianState';
23
- import { IchimokuRenderState } from './ichimokuState';
24
- import { ROCRenderState } from './rocState';
25
- import { TRIXRenderState } from './trixState';
26
- import { HVRenderState } from './hvState';
27
- import { ParkinsonRenderState } from './parkinsonState';
28
- import { ChaikinVolRenderState } from './chaikinVolState';
29
- import { VMARenderState } from './vmaState';
30
- import { OBVRenderState } from './obvState';
31
- import { PVTRenderState } from './pvtState';
32
- import { VWAPRenderState } from './vwapState';
33
- import { CMFRenderState } from './cmfState';
34
- import { MFIRenderState } from './mfiState';
35
- import { PivotRenderState } from './pivotState';
36
- import { FibRenderState } from './fibState';
37
- import { StructureRenderState } from './structureState';
38
- import { ZonesRenderState } from './zonesState';
39
- import { VolumeProfileRenderState } from './volumeProfileState';
40
- import { IndicatorSeriesBundle } from './workerProtocol';
41
- /**
42
- * 可见范围
43
- */
44
- interface VisibleRange {
45
- start: number;
46
- end: number;
47
- }
48
- type VisibleSubIndicatorStates = {
49
- rsi: RSIRenderState;
50
- cci: CCIRenderState;
51
- stoch: STOCHRenderState;
52
- mom: MOMRenderState;
53
- wmsr: WMSRRenderState;
54
- kst: KSTRenderState;
55
- fastk: FASTKRenderState;
56
- macd: MACDRenderState;
57
- atr: ATRRenderState;
58
- wma: WMARenderState;
59
- dema: DEMARenderState;
60
- tema: TEMARenderState;
61
- hma: HMARenderState;
62
- kama: KAMARenderState;
63
- sar: SARRenderState;
64
- supertrend: SuperTrendRenderState;
65
- keltner: KeltnerRenderState;
66
- donchian: DonchianRenderState;
67
- ichimoku: IchimokuRenderState;
68
- roc: ROCRenderState;
69
- trix: TRIXRenderState;
70
- hv: HVRenderState;
71
- parkinson: ParkinsonRenderState;
72
- chaikinVol: ChaikinVolRenderState;
73
- vma: VMARenderState;
74
- obv: OBVRenderState;
75
- pvt: PVTRenderState;
76
- vwap: VWAPRenderState;
77
- cmf: CMFRenderState;
78
- mfi: MFIRenderState;
79
- pivot: PivotRenderState;
80
- fib: FibRenderState;
81
- structure: StructureRenderState;
82
- zones: ZonesRenderState;
83
- volumeProfile: VolumeProfileRenderState;
84
- };
85
- type VisibleSubIndicatorMask = {
86
- rsi?: boolean;
87
- cci?: boolean;
88
- stoch?: boolean;
89
- mom?: boolean;
90
- wmsr?: boolean;
91
- kst?: boolean;
92
- fastk?: boolean;
93
- macd?: boolean;
94
- atr?: boolean;
95
- wma?: boolean;
96
- dema?: boolean;
97
- tema?: boolean;
98
- hma?: boolean;
99
- kama?: boolean;
100
- sar?: boolean;
101
- supertrend?: boolean;
102
- keltner?: boolean;
103
- donchian?: boolean;
104
- ichimoku?: boolean;
105
- roc?: boolean;
106
- trix?: boolean;
107
- hv?: boolean;
108
- parkinson?: boolean;
109
- chaikinVol?: boolean;
110
- vma?: boolean;
111
- obv?: boolean;
112
- pvt?: boolean;
113
- vwap?: boolean;
114
- cmf?: boolean;
115
- mfi?: boolean;
116
- pivot?: boolean;
117
- fib?: boolean;
118
- structure?: boolean;
119
- zones?: boolean;
120
- volumeProfile?: boolean;
121
- };
122
- type ComposedRenderStates = VisibleSubIndicatorStates & {
123
- ma: MARenderState;
124
- boll: BOLLRenderState;
125
- expma: EXPMARenderState;
126
- ene: ENERenderState;
127
- };
128
- /**
129
- * 仅计算副图指标的 visible-only states
130
- * 用于滚动时的轻量更新,避免重复计算主图指标
131
- */
132
- export declare function composeVisibleSubIndicatorStates(bundle: IndicatorSeriesBundle, visibleRange: VisibleRange, timestamp: number, activeMask?: VisibleSubIndicatorMask): VisibleSubIndicatorStates;
133
- /**
134
- * 从 series bundle 组装所有 render states
135
- * 同时计算 visibleMin/visibleMax 等派生字段
136
- */
137
- export declare function composeRenderStates(bundle: IndicatorSeriesBundle, visibleRange: VisibleRange, timestamp: number): ComposedRenderStates;
138
- /**
139
- * 计算主图指标价格范围
140
- * 用于 Chart.draw() 中的 pane.updateRange
141
- */
142
- export declare function computeMainIndicatorPriceRange(bundle: IndicatorSeriesBundle, visibleRange: VisibleRange, activeMainIndicators: Set<string>): {
143
- min: number;
144
- max: number;
145
- } | null;
146
- export {};
@@ -1,18 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- import { STOCHPoint } from './calculators';
3
- export interface STOCHRenderState extends BaseIndicatorState {
4
- timestamp: number;
5
- series: STOCHPoint[];
6
- params: {
7
- n: number;
8
- m: number;
9
- showK: boolean;
10
- showD: boolean;
11
- };
12
- valueMin: number;
13
- valueMax: number;
14
- visibleMin: number;
15
- visibleMax: number;
16
- }
17
- export declare const createSTOCHStateKey: (paneId: string) => `indicator:${string}:${string}`;
18
- export declare const EMPTY_STOCH_STATE: STOCHRenderState;
@@ -1,43 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface SwingPoint {
3
- index: number;
4
- price: number;
5
- kind: 'high' | 'low';
6
- label: 'HH' | 'HL' | 'LH' | 'LL';
7
- confirmed: boolean;
8
- }
9
- export type StructureEventKind = 'BOS' | 'CHOCH';
10
- export interface StructureEvent {
11
- kind: StructureEventKind;
12
- index: number;
13
- triggerPrice: number;
14
- brokenLevel: number;
15
- brokenSwingIndex: number;
16
- direction: 'up' | 'down';
17
- }
18
- export interface StructureSnapshot {
19
- swings: SwingPoint[];
20
- events: StructureEvent[];
21
- trend: 'up' | 'down' | 'range';
22
- }
23
- export interface StructureRenderState extends BaseIndicatorState {
24
- timestamp: number;
25
- series: StructureSnapshot;
26
- params: {
27
- leftWindow: number;
28
- rightWindow: number;
29
- breakoutSource: 'close' | 'wick';
30
- showSwingLabels: boolean;
31
- showBOS: boolean;
32
- showCHOCH: boolean;
33
- showProvisional: boolean;
34
- };
35
- valueMin: number;
36
- valueMax: number;
37
- visibleMin: number;
38
- visibleMax: number;
39
- }
40
- export declare const createStructureStateKey: (paneId: string) => `indicator:${string}:${string}`;
41
- export declare const DEFAULT_STRUCTURE_LEFT = 2;
42
- export declare const DEFAULT_STRUCTURE_RIGHT = 2;
43
- export declare const EMPTY_STRUCTURE_STATE: StructureRenderState;
@@ -1,22 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface SuperTrendPoint {
3
- value: number;
4
- trend: 'up' | 'down';
5
- }
6
- export interface SuperTrendRenderState extends BaseIndicatorState {
7
- timestamp: number;
8
- series: (SuperTrendPoint | undefined)[];
9
- params: {
10
- atrPeriod: number;
11
- multiplier: number;
12
- showSuperTrend: boolean;
13
- };
14
- valueMin: number;
15
- valueMax: number;
16
- visibleMin: number;
17
- visibleMax: number;
18
- }
19
- export declare const createSuperTrendStateKey: (paneId: string) => `indicator:${string}:${string}`;
20
- export declare const DEFAULT_SUPERTREND_ATR_PERIOD = 10;
21
- export declare const DEFAULT_SUPERTREND_MULTIPLIER = 3;
22
- export declare const EMPTY_SUPERTREND_STATE: SuperTrendRenderState;
@@ -1,16 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface TEMARenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- showTEMA: boolean;
8
- };
9
- valueMin: number;
10
- valueMax: number;
11
- visibleMin: number;
12
- visibleMax: number;
13
- }
14
- export declare const createTEMAStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
- export declare const DEFAULT_TEMA_PERIOD = 20;
16
- export declare const EMPTY_TEMA_STATE: TEMARenderState;
@@ -1,20 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface TRIXRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- signalPeriod: number;
8
- showTRIX: boolean;
9
- showSignal: boolean;
10
- };
11
- signalSeries: (number | undefined)[];
12
- valueMin: number;
13
- valueMax: number;
14
- visibleMin: number;
15
- visibleMax: number;
16
- }
17
- export declare const createTRIXStateKey: (paneId: string) => `indicator:${string}:${string}`;
18
- export declare const DEFAULT_TRIX_PERIOD = 15;
19
- export declare const DEFAULT_TRIX_SIGNAL_PERIOD = 9;
20
- export declare const EMPTY_TRIX_STATE: TRIXRenderState;
@@ -1,16 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface VMARenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- showVMA: boolean;
8
- };
9
- valueMin: number;
10
- valueMax: number;
11
- visibleMin: number;
12
- visibleMax: number;
13
- }
14
- export declare const createVMAStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
- export declare const DEFAULT_VMA_PERIOD = 5;
16
- export declare const EMPTY_VMA_STATE: VMARenderState;
@@ -1,34 +0,0 @@
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;
@@ -1,16 +0,0 @@
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;