@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,18 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface HVRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- annualizationFactor: number;
8
- showHV: boolean;
9
- };
10
- valueMin: number;
11
- valueMax: number;
12
- visibleMin: number;
13
- visibleMax: number;
14
- }
15
- export declare const createHVStateKey: (paneId: string) => `indicator:${string}:${string}`;
16
- export declare const DEFAULT_HV_PERIOD = 20;
17
- export declare const DEFAULT_HV_ANNUALIZATION = 252;
18
- export declare const EMPTY_HV_STATE: HVRenderState;
@@ -1,44 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- /**
3
- * 一目均衡表数据点:5 条线在同一根 K 线槽位
4
- * - tenkan (转换线) = (HH9 + LL9) / 2,当根 K 线计算
5
- * - kijun (基准线) = (HH26 + LL26) / 2,当根 K 线计算
6
- * - spanA (先行带 A) = (tenkan[t-displacement] + kijun[t-displacement]) / 2,前置位移
7
- * - spanB (先行带 B) = (HH52[t-displacement] + LL52[t-displacement]) / 2,前置位移
8
- * - chikou (迟行线) = close[t+displacement],后置位移
9
- *
10
- * 任一字段都可能 undefined(数据不足或位移外)。
11
- */
12
- export interface IchimokuPoint {
13
- tenkan?: number;
14
- kijun?: number;
15
- spanA?: number;
16
- spanB?: number;
17
- chikou?: number;
18
- }
19
- export interface IchimokuRenderState extends BaseIndicatorState {
20
- timestamp: number;
21
- series: (IchimokuPoint | undefined)[];
22
- params: {
23
- tenkanPeriod: number;
24
- kijunPeriod: number;
25
- spanBPeriod: number;
26
- displacement: number;
27
- showTenkan: boolean;
28
- showKijun: boolean;
29
- showSpanA: boolean;
30
- showSpanB: boolean;
31
- showCloud: boolean;
32
- showChikou: boolean;
33
- };
34
- valueMin: number;
35
- valueMax: number;
36
- visibleMin: number;
37
- visibleMax: number;
38
- }
39
- export declare const createIchimokuStateKey: (paneId: string) => `indicator:${string}:${string}`;
40
- export declare const DEFAULT_ICHIMOKU_TENKAN = 9;
41
- export declare const DEFAULT_ICHIMOKU_KIJUN = 26;
42
- export declare const DEFAULT_ICHIMOKU_SPAN_B = 52;
43
- export declare const DEFAULT_ICHIMOKU_DISPLACEMENT = 26;
44
- export declare const EMPTY_ICHIMOKU_STATE: IchimokuRenderState;
@@ -1,5 +0,0 @@
1
- /**
2
- * Indicator Worker 入口
3
- * 运行在独立线程,负责指标计算
4
- */
5
- export {};
@@ -1,126 +0,0 @@
1
- import { KLineData } from '../../types/price';
2
- import { IndicatorConfigSnapshot, IndicatorSeriesBundle } from './workerProtocol';
3
- /**
4
- * 计算运行时
5
- * 管理数据、配置、缓存和脏标记
6
- */
7
- export declare class IndicatorRuntime {
8
- private currentData;
9
- private dataVersion;
10
- private config;
11
- private configVersion;
12
- private cachedSeries;
13
- private cachedBollSeries;
14
- private cachedExpmaSeries;
15
- private cachedEneSeries;
16
- private cachedRsiSeries;
17
- private cachedCciSeries;
18
- private cachedStochSeries;
19
- private cachedMomSeries;
20
- private cachedWmsrSeries;
21
- private cachedKstSeries;
22
- private cachedFastkSeries;
23
- private cachedMacdSeries;
24
- private cachedAtrSeries;
25
- private cachedWmaSeries;
26
- private cachedDemaSeries;
27
- private cachedTemaSeries;
28
- private cachedHmaSeries;
29
- private cachedKamaSeries;
30
- private cachedSarSeries;
31
- private cachedSupertrendSeries;
32
- private cachedKeltnerSeries;
33
- private cachedDonchianSeries;
34
- private cachedIchimokuSeries;
35
- private cachedRocSeries;
36
- private cachedTrixSeries;
37
- private cachedTrixSignalSeries;
38
- private cachedHvSeries;
39
- private cachedParkinsonSeries;
40
- private cachedChaikinVolSeries;
41
- private cachedVmaSeries;
42
- private cachedObvSeries;
43
- private cachedPvtSeries;
44
- private cachedVwapSeries;
45
- private cachedCmfSeries;
46
- private cachedMfiSeries;
47
- private cachedPivotSeries;
48
- private cachedFibSeries;
49
- private cachedStructureSeries;
50
- private cachedZonesSeries;
51
- private cachedVolumeProfileSeries;
52
- private dirtyData;
53
- private dirtyMAConfig;
54
- private dirtyBollConfig;
55
- private dirtyExpmaConfig;
56
- private dirtyEneConfig;
57
- private dirtyRsiConfig;
58
- private dirtyCciConfig;
59
- private dirtyStochConfig;
60
- private dirtyMomConfig;
61
- private dirtyWmsrConfig;
62
- private dirtyKstConfig;
63
- private dirtyFastkConfig;
64
- private dirtyMacdConfig;
65
- private dirtyAtrConfig;
66
- private dirtyWmaConfig;
67
- private dirtyDemaConfig;
68
- private dirtyTemaConfig;
69
- private dirtyHmaConfig;
70
- private dirtyKamaConfig;
71
- private dirtySarConfig;
72
- private dirtySupertrendConfig;
73
- private dirtyKeltnerConfig;
74
- private dirtyDonchianConfig;
75
- private dirtyIchimokuConfig;
76
- private dirtyRocConfig;
77
- private dirtyTrixConfig;
78
- private dirtyHvConfig;
79
- private dirtyParkinsonConfig;
80
- private dirtyChaikinVolConfig;
81
- private dirtyVmaConfig;
82
- private dirtyObvConfig;
83
- private dirtyPvtConfig;
84
- private dirtyVwapConfig;
85
- private dirtyCmfConfig;
86
- private dirtyMfiConfig;
87
- private dirtyPivotConfig;
88
- private dirtyFibConfig;
89
- private dirtyStructureConfig;
90
- private dirtyZonesConfig;
91
- private dirtyVolumeProfileConfig;
92
- private getDefaultConfig;
93
- /**
94
- * 更新数据
95
- */
96
- setData(data: KLineData[], version: number): void;
97
- /**
98
- * 更新配置
99
- */
100
- private shallowEqual;
101
- /**
102
- * 更新配置(仅值变更时才设置脏标记)
103
- */
104
- setConfig(config: Partial<IndicatorConfigSnapshot>, version: number): void;
105
- /**
106
- * 强制所有指标标记为脏(用于 recompute)
107
- */
108
- forceDirty(): void;
109
- /**
110
- * 获取当前数据版本
111
- */
112
- getDataVersion(): number;
113
- /**
114
- * 获取当前配置版本
115
- */
116
- getConfigVersion(): number;
117
- /**
118
- * 计算所有指标的 series(如果脏了)
119
- * 返回结果包,供主线程组装成 render states
120
- */
121
- computeSeries(): IndicatorSeriesBundle;
122
- /**
123
- * 获取缓存的 series(用于 visibleRange 变更时扫描极值)
124
- */
125
- getCachedSeries(): IndicatorSeriesBundle;
126
- }
@@ -1,20 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface KAMARenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- fastPeriod: number;
8
- slowPeriod: number;
9
- showKAMA: boolean;
10
- };
11
- valueMin: number;
12
- valueMax: number;
13
- visibleMin: number;
14
- visibleMax: number;
15
- }
16
- export declare const createKAMAStateKey: (paneId: string) => `indicator:${string}:${string}`;
17
- export declare const DEFAULT_KAMA_PERIOD = 10;
18
- export declare const DEFAULT_KAMA_FAST_PERIOD = 2;
19
- export declare const DEFAULT_KAMA_SLOW_PERIOD = 30;
20
- export declare const EMPTY_KAMA_STATE: KAMARenderState;
@@ -1,27 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface KeltnerPoint {
3
- upper: number;
4
- middle: number;
5
- lower: number;
6
- }
7
- export interface KeltnerRenderState extends BaseIndicatorState {
8
- timestamp: number;
9
- series: (KeltnerPoint | undefined)[];
10
- params: {
11
- emaPeriod: number;
12
- atrPeriod: number;
13
- multiplier: number;
14
- showUpper: boolean;
15
- showMiddle: boolean;
16
- showLower: boolean;
17
- };
18
- valueMin: number;
19
- valueMax: number;
20
- visibleMin: number;
21
- visibleMax: number;
22
- }
23
- export declare const createKeltnerStateKey: (paneId: string) => `indicator:${string}:${string}`;
24
- export declare const DEFAULT_KELTNER_EMA_PERIOD = 20;
25
- export declare const DEFAULT_KELTNER_ATR_PERIOD = 10;
26
- export declare const DEFAULT_KELTNER_MULTIPLIER = 2;
27
- export declare const EMPTY_KELTNER_STATE: KeltnerRenderState;
@@ -1,21 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- import { KSTPoint } from './calculators';
3
- export interface KSTRenderState extends BaseIndicatorState {
4
- timestamp: number;
5
- series: KSTPoint[];
6
- params: {
7
- roc1: number;
8
- roc2: number;
9
- roc3: number;
10
- roc4: number;
11
- signalPeriod: number;
12
- showKST: boolean;
13
- showSignal: boolean;
14
- };
15
- valueMin: number;
16
- valueMax: number;
17
- visibleMin: number;
18
- visibleMax: number;
19
- }
20
- export declare const createKSTStateKey: (paneId: string) => `indicator:${string}:${string}`;
21
- export declare const EMPTY_KST_STATE: KSTRenderState;
@@ -1,26 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- /**
3
- * MA 渲染器状态(共享给渲染器和图例)
4
- * 包含全量 MA 数组、启用的周期列表、以及视口极值
5
- */
6
- export interface MARenderState extends BaseIndicatorState {
7
- timestamp: number;
8
- /** period → 全量 MA 数组(用 Record 而非 Map,兼容 JSON 序列化和 postMessage) */
9
- series: Record<number, (number | undefined)[]>;
10
- /** 当前启用的周期列表(渲染器直接从此字段决定绘制哪些线) */
11
- enabledPeriods: number[];
12
- /** 视口内所有 MA 线的最低价(供 Y 轴刻度渲染器使用) */
13
- visibleMin: number;
14
- /** 视口内所有 MA 线的最高价 */
15
- visibleMax: number;
16
- }
17
- /**
18
- * MA 状态的 StateStore 键名
19
- * 格式:indicator:ma:main
20
- */
21
- export declare const MA_STATE_KEY: `indicator:${string}:${string}`;
22
- /**
23
- * 空数据占位状态
24
- * 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
25
- */
26
- export declare const EMPTY_MA_STATE: MARenderState;
@@ -1,58 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- import { MACDPoint } from './calculators';
3
- /**
4
- * MACD 调度器配置
5
- */
6
- export interface MACDSchedulerConfig {
7
- /** 快线周期(默认 12) */
8
- fastPeriod: number;
9
- /** 慢线周期(默认 26) */
10
- slowPeriod: number;
11
- /** DEA 周期(默认 9) */
12
- signalPeriod: number;
13
- /** 是否显示 DIF 线 */
14
- showDIF: boolean;
15
- /** 是否显示 DEA 线 */
16
- showDEA: boolean;
17
- /** 是否显示 MACD 柱 */
18
- showBAR: boolean;
19
- }
20
- /**
21
- * MACD 渲染器状态
22
- * 用 Record 而非 Map,兼容 JSON 序列化和 postMessage
23
- */
24
- export interface MACDRenderState extends BaseIndicatorState {
25
- /** MACD 系列数据,与 K 线数据同长度 */
26
- series: MACDPoint[];
27
- /** 配置参数 */
28
- params: MACDSchedulerConfig;
29
- /** 可视范围内的最小值 */
30
- visibleMin: number;
31
- /** 可视范围内的最大值 */
32
- visibleMax: number;
33
- /** 固定数值范围最小值 */
34
- valueMin: number;
35
- /** 固定数值范围最大值 */
36
- valueMax: number;
37
- /** 最新值 */
38
- latestValues?: {
39
- dif: number;
40
- dea: number;
41
- macd: number;
42
- };
43
- }
44
- /**
45
- * MACD State 的命名空间 key
46
- * 格式: indicator:macd:{paneId}
47
- */
48
- export declare const MACD_STATE_KEY = "indicator:macd";
49
- /**
50
- * 创建 MACD State Key
51
- * @param paneId pane ID,如 'sub_MACD'
52
- */
53
- export declare function createMACDStateKey(paneId: string): string;
54
- /**
55
- * 空 MACD State(哨兵值)
56
- * visibleMin > visibleMax 表示无有效数据
57
- */
58
- export declare const EMPTY_MACD_STATE: MACDRenderState;
@@ -1,16 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface MFIRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- showMFI: boolean;
8
- };
9
- valueMin: number;
10
- valueMax: number;
11
- visibleMin: number;
12
- visibleMax: number;
13
- }
14
- export declare const createMFIStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
- export declare const DEFAULT_MFI_PERIOD = 14;
16
- export declare const EMPTY_MFI_STATE: MFIRenderState;
@@ -1,15 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface MOMRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- showMOM: boolean;
8
- };
9
- valueMin: number;
10
- valueMax: number;
11
- visibleMin: number;
12
- visibleMax: number;
13
- }
14
- export declare const createMOMStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
- export declare const EMPTY_MOM_STATE: MOMRenderState;
@@ -1,14 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface OBVRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- showOBV: boolean;
7
- };
8
- valueMin: number;
9
- valueMax: number;
10
- visibleMin: number;
11
- visibleMax: number;
12
- }
13
- export declare const createOBVStateKey: (paneId: string) => `indicator:${string}:${string}`;
14
- export declare const EMPTY_OBV_STATE: OBVRenderState;
@@ -1,18 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface ParkinsonRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- annualizationFactor: number;
8
- showParkinson: boolean;
9
- };
10
- valueMin: number;
11
- valueMax: number;
12
- visibleMin: number;
13
- visibleMax: number;
14
- }
15
- export declare const createParkinsonStateKey: (paneId: string) => `indicator:${string}:${string}`;
16
- export declare const DEFAULT_PARKINSON_PERIOD = 20;
17
- export declare const DEFAULT_PARKINSON_ANNUALIZATION = 252;
18
- export declare const EMPTY_PARKINSON_STATE: ParkinsonRenderState;
@@ -1,29 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface PivotPoint {
3
- pp: number;
4
- r1: number;
5
- r2: number;
6
- r3: number;
7
- s1: number;
8
- s2: number;
9
- s3: number;
10
- }
11
- export interface PivotRenderState extends BaseIndicatorState {
12
- timestamp: number;
13
- series: (PivotPoint | undefined)[];
14
- params: {
15
- showPP: boolean;
16
- showR1: boolean;
17
- showR2: boolean;
18
- showR3: boolean;
19
- showS1: boolean;
20
- showS2: boolean;
21
- showS3: boolean;
22
- };
23
- valueMin: number;
24
- valueMax: number;
25
- visibleMin: number;
26
- visibleMax: number;
27
- }
28
- export declare const createPivotStateKey: (paneId: string) => `indicator:${string}:${string}`;
29
- export declare const EMPTY_PIVOT_STATE: PivotRenderState;
@@ -1,14 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface PVTRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- showPVT: boolean;
7
- };
8
- valueMin: number;
9
- valueMax: number;
10
- visibleMin: number;
11
- visibleMax: number;
12
- }
13
- export declare const createPVTStateKey: (paneId: string) => `indicator:${string}:${string}`;
14
- export declare const EMPTY_PVT_STATE: PVTRenderState;
@@ -1,16 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface ROCRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- showROC: boolean;
8
- };
9
- valueMin: number;
10
- valueMax: number;
11
- visibleMin: number;
12
- visibleMax: number;
13
- }
14
- export declare const createROCStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
- export declare const DEFAULT_ROC_PERIOD = 12;
16
- export declare const EMPTY_ROC_STATE: ROCRenderState;
@@ -1,39 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- /**
3
- * RSI 渲染器状态(共享给渲染器、图例和 scale 渲染器)
4
- * 包含全量 RSI 数组、计算参数、固定 Y 轴范围以及视口极值
5
- */
6
- export interface RSIRenderState extends BaseIndicatorState {
7
- timestamp: number;
8
- /** 各周期 RSI 数组(稀疏:前 period+1 个为 undefined) */
9
- series: Record<number, (number | undefined)[]>;
10
- /** 当前启用的周期列表 */
11
- enabledPeriods: number[];
12
- /** 计算和渲染参数 */
13
- params: {
14
- period1: number;
15
- period2: number;
16
- period3: number;
17
- showRSI1: boolean;
18
- showRSI2: boolean;
19
- showRSI3: boolean;
20
- };
21
- /** 固定 Y 轴最小值(始终为 0) */
22
- valueMin: number;
23
- /** 固定 Y 轴最大值(始终为 100) */
24
- valueMax: number;
25
- /** 视口内所有 RSI 线的最小值 */
26
- visibleMin: number;
27
- /** 视口内所有 RSI 线的最大值 */
28
- visibleMax: number;
29
- }
30
- /**
31
- * 创建 RSI 状态的 StateStore 键名
32
- * 格式:indicator:rsi:{paneId}
33
- */
34
- export declare const createRSIStateKey: (paneId: string) => `indicator:${string}:${string}`;
35
- /**
36
- * 空数据占位状态
37
- * 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
38
- */
39
- export declare const EMPTY_RSI_STATE: RSIRenderState;
@@ -1,26 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- /**
3
- * SAR 点:value 是 SAR 价格,trend = 'up' 表示 SAR 在 K 线下方(多头止损)
4
- * 'down' 表示 SAR 在 K 线上方(空头止损)。
5
- */
6
- export interface SARPoint {
7
- value: number;
8
- trend: 'up' | 'down';
9
- }
10
- export interface SARRenderState extends BaseIndicatorState {
11
- timestamp: number;
12
- series: (SARPoint | undefined)[];
13
- params: {
14
- step: number;
15
- maxStep: number;
16
- showSAR: boolean;
17
- };
18
- valueMin: number;
19
- valueMax: number;
20
- visibleMin: number;
21
- visibleMax: number;
22
- }
23
- export declare const createSARStateKey: (paneId: string) => `indicator:${string}:${string}`;
24
- export declare const DEFAULT_SAR_STEP = 0.02;
25
- export declare const DEFAULT_SAR_MAX_STEP = 0.2;
26
- export declare const EMPTY_SAR_STATE: SARRenderState;