@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,16 +0,0 @@
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,15 +0,0 @@
1
- import { BaseIndicatorState } from '../../plugin';
2
- export interface WMSRRenderState extends BaseIndicatorState {
3
- timestamp: number;
4
- series: (number | undefined)[];
5
- params: {
6
- period: number;
7
- showWMSR: boolean;
8
- };
9
- valueMin: number;
10
- valueMax: number;
11
- visibleMin: number;
12
- visibleMax: number;
13
- }
14
- export declare const createWMSRStateKey: (paneId: string) => `indicator:${string}:${string}`;
15
- export declare const EMPTY_WMSR_STATE: WMSRRenderState;
@@ -1,496 +0,0 @@
1
- import { KLineData } from '../../types/price';
2
- import { MAFlags, BOLLPoint, EXPMAPoint, ENEPoint, STOCHPoint, KSTPoint, MACDPoint, SARPoint, SuperTrendPoint, KeltnerPoint, DonchianPoint, IchimokuPoint, PivotPoint, FibPoint, StructureSnapshot, Zone, VolumeProfileResult } from './calculators';
3
- export interface BOLLSchedulerConfig {
4
- period: number;
5
- multiplier: number;
6
- showUpper: boolean;
7
- showMiddle: boolean;
8
- showLower: boolean;
9
- showBand: boolean;
10
- }
11
- export interface EXPMASchedulerConfig {
12
- fastPeriod: number;
13
- slowPeriod: number;
14
- }
15
- export interface ENESchedulerConfig {
16
- period: number;
17
- deviation: number;
18
- }
19
- export interface RSISchedulerConfig {
20
- period1: number;
21
- period2: number;
22
- period3: number;
23
- showRSI1: boolean;
24
- showRSI2: boolean;
25
- showRSI3: boolean;
26
- }
27
- export interface CCISchedulerConfig {
28
- period: number;
29
- showCCI: boolean;
30
- }
31
- export interface STOCHSchedulerConfig {
32
- n: number;
33
- m: number;
34
- showK: boolean;
35
- showD: boolean;
36
- }
37
- export interface MOMSchedulerConfig {
38
- period: number;
39
- showMOM: boolean;
40
- }
41
- export interface WMSRSchedulerConfig {
42
- period: number;
43
- showWMSR: boolean;
44
- }
45
- export interface KSTSchedulerConfig {
46
- roc1: number;
47
- roc2: number;
48
- roc3: number;
49
- roc4: number;
50
- signalPeriod: number;
51
- showKST: boolean;
52
- showSignal: boolean;
53
- }
54
- export interface FASTKSchedulerConfig {
55
- period: number;
56
- showFASTK: boolean;
57
- }
58
- export interface MACDSchedulerConfig {
59
- fastPeriod: number;
60
- slowPeriod: number;
61
- signalPeriod: number;
62
- showDIF: boolean;
63
- showDEA: boolean;
64
- showBAR: boolean;
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
- }
210
- export interface InitRequest {
211
- type: 'init';
212
- protocolVersion: number;
213
- }
214
- export interface SetDataRequest {
215
- type: 'setData';
216
- dataVersion: number;
217
- format: 'aos' | 'soa';
218
- data: KLineData[];
219
- }
220
- export interface SetConfigRequest {
221
- type: 'setConfig';
222
- configVersion: number;
223
- configs: IndicatorConfigSnapshot;
224
- }
225
- export interface ComputeSeriesRequest {
226
- type: 'computeSeries';
227
- requestId: number;
228
- dataVersion: number;
229
- configVersion: number;
230
- }
231
- export interface DisposeRequest {
232
- type: 'dispose';
233
- }
234
- export type IndicatorWorkerRequest = InitRequest | SetDataRequest | SetConfigRequest | ComputeSeriesRequest | DisposeRequest;
235
- export interface ReadyResponse {
236
- type: 'ready';
237
- protocolVersion: number;
238
- }
239
- export interface SeriesResultResponse {
240
- type: 'seriesResult';
241
- requestId: number;
242
- dataVersion: number;
243
- configVersion: number;
244
- results: IndicatorSeriesBundle;
245
- metrics?: {
246
- computeMs: number;
247
- dataLength: number;
248
- };
249
- }
250
- export interface ErrorResponse {
251
- type: 'error';
252
- requestId?: number;
253
- stage: 'init' | 'setData' | 'setConfig' | 'computeSeries';
254
- message: string;
255
- }
256
- export type IndicatorWorkerResponse = ReadyResponse | SeriesResultResponse | ErrorResponse;
257
- export interface IndicatorConfigSnapshot {
258
- ma: MAFlags;
259
- boll: BOLLSchedulerConfig;
260
- expma: EXPMASchedulerConfig;
261
- ene: ENESchedulerConfig;
262
- rsi: RSISchedulerConfig;
263
- cci: CCISchedulerConfig;
264
- stoch: STOCHSchedulerConfig;
265
- mom: MOMSchedulerConfig;
266
- wmsr: WMSRSchedulerConfig;
267
- kst: KSTSchedulerConfig;
268
- fastk: FASTKSchedulerConfig;
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;
297
- rsiPaneId: string;
298
- cciPaneId: string;
299
- stochPaneId: string;
300
- momPaneId: string;
301
- wmsrPaneId: string;
302
- kstPaneId: string;
303
- fastkPaneId: string;
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;
332
- }
333
- export interface IndicatorSeriesBundle {
334
- ma: {
335
- series: Record<number, (number | undefined)[]>;
336
- enabledPeriods: number[];
337
- };
338
- boll: {
339
- series: BOLLPoint[];
340
- params: BOLLSchedulerConfig;
341
- };
342
- expma: {
343
- series: EXPMAPoint[];
344
- params: EXPMASchedulerConfig;
345
- };
346
- ene: {
347
- series: ENEPoint[];
348
- params: ENESchedulerConfig;
349
- };
350
- rsi: {
351
- series: Record<number, (number | undefined)[]>;
352
- enabledPeriods: number[];
353
- params: RSISchedulerConfig;
354
- };
355
- cci: {
356
- series: (number | undefined)[];
357
- params: CCISchedulerConfig;
358
- };
359
- stoch: {
360
- series: STOCHPoint[];
361
- params: STOCHSchedulerConfig;
362
- };
363
- mom: {
364
- series: (number | undefined)[];
365
- params: MOMSchedulerConfig;
366
- };
367
- wmsr: {
368
- series: (number | undefined)[];
369
- params: WMSRSchedulerConfig;
370
- };
371
- kst: {
372
- series: KSTPoint[];
373
- params: KSTSchedulerConfig;
374
- };
375
- fastk: {
376
- series: (number | undefined)[];
377
- params: FASTKSchedulerConfig;
378
- };
379
- macd: {
380
- series: MACDPoint[];
381
- params: MACDSchedulerConfig;
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
- };
492
- /** 本次计算中实际变更的指标列表 */
493
- _changed: string[];
494
- }
495
- export declare const PROTOCOL_VERSION = 1;
496
- export declare function isWorkerResponse(msg: unknown): msg is IndicatorWorkerResponse;
@@ -1,26 +0,0 @@
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,103 +0,0 @@
1
- import { KLineData } from '../../types/price';
2
- import { PriceRange } from '../scale/price';
3
- import { PriceScale } from '../scale/priceScale';
4
- import { MarkerManager } from '../marker/registry';
5
- import { PaneCapabilities, PaneRole } from '../../plugin';
6
- /**
7
- * 更新级别枚举 - 用于双层 Canvas 架构
8
- * Main: 只更新主画布(K线、指标等静态内容)
9
- * Overlay: 只更新覆盖层(十字线、Tooltip等动态内容)
10
- * All: 更新所有层
11
- */
12
- export declare enum UpdateLevel {
13
- Main = "main",
14
- Overlay = "overlay",
15
- All = "all"
16
- }
17
- export type VisibleRange = {
18
- start: number;
19
- end: number;
20
- };
21
- export interface PaneInitOptions {
22
- role?: PaneRole;
23
- capabilities?: Partial<PaneCapabilities>;
24
- }
25
- /**
26
- * Pane 级渲染器接口:在单个 pane 的坐标系中绘制内容
27
- */
28
- export interface PaneRenderer {
29
- /**
30
- * 在指定 pane 坐标系中绘制内容
31
- * @param ctx Canvas 绘图上下文,Chart 已执行 translate(0, pane.top),y=0 对应 pane 顶部
32
- * @param pane 当前 pane 实例
33
- * @param data 全量 K 线数据
34
- * @param range 当前视口可见的索引范围
35
- * @param scrollLeft 滚动偏移量,renderer 内部如需 world 坐标需执行 ctx.translate(-scrollLeft, 0)
36
- * @param kWidth K 线宽度
37
- * @param kGap K 线间隔
38
- * @param dpr 设备像素比
39
- * @param paneWidth pane 宽度
40
- * @param kLinePositions 可选,K 线起始 x 坐标数组(由 Chart 统一计算)
41
- */
42
- draw(args: {
43
- ctx: CanvasRenderingContext2D;
44
- pane: Pane;
45
- data: KLineData[];
46
- range: VisibleRange;
47
- scrollLeft: number;
48
- kWidth: number;
49
- kGap: number;
50
- dpr: number;
51
- paneWidth: number;
52
- kLinePositions: number[];
53
- markerManager?: MarkerManager;
54
- }): void;
55
- }
56
- /**
57
- * Pane:代表一个"窗口区域"(主图 / 副图)
58
- */
59
- export declare class Pane {
60
- readonly id: string;
61
- readonly role: PaneRole;
62
- readonly capabilities: PaneCapabilities;
63
- top: number;
64
- height: number;
65
- /** 当前 pane 的可视价格范围(用于右侧轴、以及渲染器内部) */
66
- priceRange: PriceRange;
67
- /** pane 独立 Y 轴 */
68
- readonly yAxis: PriceScale;
69
- /** 该 pane 的渲染器列表 */
70
- readonly renderers: PaneRenderer[];
71
- /**
72
- * 创建 pane 实例
73
- * @param id pane 标识符(例如 'main'、'sub'),用于在 Chart/Interaction 中识别 pane
74
- */
75
- constructor(id: string, options?: PaneInitOptions);
76
- /**
77
- * 设置 pane 的垂直布局
78
- * @param top 相对 plotCanvas 顶部的偏移(逻辑像素)
79
- * @param height pane 高度(逻辑像素)
80
- */
81
- setLayout(top: number, height: number): void;
82
- /**
83
- * 设置 Y 轴上下 padding
84
- * @param top 上内边距,影响 priceToY 映射的顶部留白
85
- * @param bottom 下内边距,影响 priceToY 映射的底部留白
86
- */
87
- setPadding(top: number, bottom: number): void;
88
- /**
89
- * 注册一个 pane 级渲染器
90
- * @param renderer pane 级渲染器实例
91
- */
92
- addRenderer(renderer: PaneRenderer): void;
93
- /**
94
- * 根据当前可见索引区间更新 priceRange 并同步到 yAxis
95
- * @param data 全量 K 线数据
96
- * @param range 当前视口可见的索引范围(由 getVisibleRange 计算)
97
- * @param indicatorRange 可选的指标极值范围,与K线极值合并
98
- */
99
- updateRange(data: KLineData[], range: VisibleRange, indicatorRange?: {
100
- min: number;
101
- max: number;
102
- } | null): void;
103
- }