@363045841yyt/klinechart-core 0.7.3 → 0.7.5

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 (247) hide show
  1. package/README.md +201 -201
  2. package/README.zh-CN.md +201 -201
  3. package/dist/controllers/index.d.ts +1 -0
  4. package/dist/controllers/index.d.ts.map +1 -1
  5. package/dist/controllers/index.js +1 -0
  6. package/dist/controllers/index.js.map +1 -1
  7. package/dist/engine/chart.d.ts +11 -19
  8. package/dist/engine/chart.d.ts.map +1 -1
  9. package/dist/engine/chart.js +92 -109
  10. package/dist/engine/chart.js.map +1 -1
  11. package/dist/engine/renderers/Indicator/indicatorData.d.ts +1 -0
  12. package/dist/engine/renderers/Indicator/indicatorData.d.ts.map +1 -1
  13. package/dist/engine/renderers/Indicator/indicatorData.js +1 -1
  14. package/dist/engine/renderers/Indicator/indicatorData.js.map +1 -1
  15. package/dist/engine/renderers/webgl/candleSurface.js +47 -47
  16. package/dist/engine/subPaneManager.d.ts +4 -0
  17. package/dist/engine/subPaneManager.d.ts.map +1 -1
  18. package/dist/engine/subPaneManager.js +13 -0
  19. package/dist/engine/subPaneManager.js.map +1 -1
  20. package/dist/version.d.ts +1 -1
  21. package/dist/version.d.ts.map +1 -1
  22. package/dist/version.js +1 -2
  23. package/dist/version.js.map +1 -1
  24. package/package.json +129 -122
  25. package/src/__tests__/signal.test.ts +124 -124
  26. package/src/config/chartSettings.ts +66 -66
  27. package/src/controllers/__tests__/drawing.test.ts +214 -214
  28. package/src/controllers/__tests__/indicatorSelector.test.ts +481 -481
  29. package/src/controllers/__tests__/toolbar.test.ts +225 -225
  30. package/src/controllers/createChartController.ts +665 -665
  31. package/src/controllers/createDrawingController.ts +96 -96
  32. package/src/controllers/createIndicatorSelectorController.ts +307 -307
  33. package/src/controllers/createToolbarController.ts +146 -146
  34. package/src/controllers/index.ts +20 -19
  35. package/src/controllers/types.ts +284 -284
  36. package/src/engine/__tests__/chart.dpr.test.ts +401 -401
  37. package/src/engine/__tests__/paneRenderer.resize.test.ts +92 -92
  38. package/src/engine/chart-store.ts +121 -121
  39. package/src/engine/chart.d.ts +617 -617
  40. package/src/engine/chart.ts +2803 -2815
  41. package/src/engine/controller/__tests__/interaction.dpr.test.ts +259 -259
  42. package/src/engine/controller/interaction.ts +722 -722
  43. package/src/engine/controller/markerInteraction.ts +130 -130
  44. package/src/engine/controller/pinchTracker.ts +82 -82
  45. package/src/engine/controller/tooltipPosition.ts +48 -48
  46. package/src/engine/draw/__tests__/pixelAlign.spec.ts +176 -176
  47. package/src/engine/draw/pixelAlign.ts +259 -259
  48. package/src/engine/drawing/index.ts +655 -655
  49. package/src/engine/drawing/interaction.ts +842 -842
  50. package/src/engine/drawing/plugin.ts +343 -343
  51. package/src/engine/indicators/__tests__/__fixtures__/golden/atr.json +38 -38
  52. package/src/engine/indicators/__tests__/__fixtures__/golden/dema.json +14 -14
  53. package/src/engine/indicators/__tests__/__fixtures__/golden/hma.json +14 -14
  54. package/src/engine/indicators/__tests__/__fixtures__/golden/index.ts +55 -55
  55. package/src/engine/indicators/__tests__/__fixtures__/golden/kama.json +14 -14
  56. package/src/engine/indicators/__tests__/__fixtures__/golden/tema.json +14 -14
  57. package/src/engine/indicators/__tests__/__fixtures__/golden/wma.json +40 -40
  58. package/src/engine/indicators/__tests__/__fixtures__/synthetic.ts +65 -65
  59. package/src/engine/indicators/__tests__/_propertyAssertions.ts +76 -76
  60. package/src/engine/indicators/__tests__/atr.test.ts +153 -153
  61. package/src/engine/indicators/__tests__/calculators.test.ts +614 -614
  62. package/src/engine/indicators/__tests__/cmf-mfi.test.ts +100 -100
  63. package/src/engine/indicators/__tests__/dema.test.ts +73 -73
  64. package/src/engine/indicators/__tests__/donchian.test.ts +70 -70
  65. package/src/engine/indicators/__tests__/hma.test.ts +73 -73
  66. package/src/engine/indicators/__tests__/ichimoku.test.ts +105 -105
  67. package/src/engine/indicators/__tests__/kama.test.ts +80 -80
  68. package/src/engine/indicators/__tests__/keltner.test.ts +65 -65
  69. package/src/engine/indicators/__tests__/pivot-fib.test.ts +110 -110
  70. package/src/engine/indicators/__tests__/roc.test.ts +68 -68
  71. package/src/engine/indicators/__tests__/sar.test.ts +86 -86
  72. package/src/engine/indicators/__tests__/scheduler.test.ts +831 -831
  73. package/src/engine/indicators/__tests__/soa.test.ts +533 -533
  74. package/src/engine/indicators/__tests__/structure.test.ts +110 -110
  75. package/src/engine/indicators/__tests__/supertrend.test.ts +65 -65
  76. package/src/engine/indicators/__tests__/tema.test.ts +68 -68
  77. package/src/engine/indicators/__tests__/trix.test.ts +70 -70
  78. package/src/engine/indicators/__tests__/volatility.test.ts +117 -117
  79. package/src/engine/indicators/__tests__/volume.test.ts +115 -115
  80. package/src/engine/indicators/__tests__/volumeProfile.test.ts +74 -74
  81. package/src/engine/indicators/__tests__/vwap.test.ts +69 -69
  82. package/src/engine/indicators/__tests__/wma.test.ts +112 -112
  83. package/src/engine/indicators/__tests__/zones.test.ts +95 -95
  84. package/src/engine/indicators/atrState.ts +27 -27
  85. package/src/engine/indicators/bollState.ts +51 -51
  86. package/src/engine/indicators/calculators.ts +2593 -2593
  87. package/src/engine/indicators/cciState.ts +25 -25
  88. package/src/engine/indicators/chaikinVolState.ts +32 -32
  89. package/src/engine/indicators/cmfState.ts +27 -27
  90. package/src/engine/indicators/demaState.ts +27 -27
  91. package/src/engine/indicators/donchianState.ts +43 -43
  92. package/src/engine/indicators/eneState.ts +43 -43
  93. package/src/engine/indicators/expmaState.ts +43 -43
  94. package/src/engine/indicators/fastkState.ts +25 -25
  95. package/src/engine/indicators/fibState.ts +41 -41
  96. package/src/engine/indicators/hmaState.ts +27 -27
  97. package/src/engine/indicators/hvState.ts +28 -28
  98. package/src/engine/indicators/ichimokuState.ts +70 -70
  99. package/src/engine/indicators/indicator.worker.ts +169 -169
  100. package/src/engine/indicators/indicatorDefinitionRegistry.ts +62 -62
  101. package/src/engine/indicators/indicatorMetadata.ts +110 -110
  102. package/src/engine/indicators/indicatorRegistry.ts +106 -106
  103. package/src/engine/indicators/indicatorRuntime.ts +1548 -1548
  104. package/src/engine/indicators/kamaState.ts +34 -34
  105. package/src/engine/indicators/keltnerState.ts +49 -49
  106. package/src/engine/indicators/kstState.ts +42 -42
  107. package/src/engine/indicators/maState.ts +36 -36
  108. package/src/engine/indicators/macdState.ts +76 -76
  109. package/src/engine/indicators/mfiState.ts +27 -27
  110. package/src/engine/indicators/momState.ts +25 -25
  111. package/src/engine/indicators/obvState.ts +25 -25
  112. package/src/engine/indicators/parkinsonState.ts +28 -28
  113. package/src/engine/indicators/pivotState.ts +51 -51
  114. package/src/engine/indicators/pvtState.ts +25 -25
  115. package/src/engine/indicators/rocState.ts +27 -27
  116. package/src/engine/indicators/rsiState.ts +65 -65
  117. package/src/engine/indicators/sarState.ts +41 -41
  118. package/src/engine/indicators/scheduler.ts +1205 -1205
  119. package/src/engine/indicators/soa.ts +352 -352
  120. package/src/engine/indicators/stateComposer.ts +1262 -1262
  121. package/src/engine/indicators/stochState.ts +26 -26
  122. package/src/engine/indicators/structureState.ts +69 -69
  123. package/src/engine/indicators/supertrendState.ts +37 -37
  124. package/src/engine/indicators/temaState.ts +27 -27
  125. package/src/engine/indicators/trixState.ts +35 -35
  126. package/src/engine/indicators/vmaState.ts +27 -27
  127. package/src/engine/indicators/volumeProfileState.ts +63 -63
  128. package/src/engine/indicators/vwapState.ts +29 -29
  129. package/src/engine/indicators/wmaState.ts +27 -27
  130. package/src/engine/indicators/wmsrState.ts +25 -25
  131. package/src/engine/indicators/workerProtocol.ts +613 -613
  132. package/src/engine/indicators/zonesState.ts +47 -47
  133. package/src/engine/layout/pane.ts +161 -161
  134. package/src/engine/marker/registry.ts +265 -265
  135. package/src/engine/paneRenderer.ts +169 -169
  136. package/src/engine/renderers/Indicator/atr.ts +237 -237
  137. package/src/engine/renderers/Indicator/boll.ts +317 -317
  138. package/src/engine/renderers/Indicator/cci.ts +275 -275
  139. package/src/engine/renderers/Indicator/chaikinVol.ts +138 -138
  140. package/src/engine/renderers/Indicator/cmf.ts +137 -137
  141. package/src/engine/renderers/Indicator/dema.ts +136 -136
  142. package/src/engine/renderers/Indicator/donchian.ts +137 -137
  143. package/src/engine/renderers/Indicator/ene.ts +271 -271
  144. package/src/engine/renderers/Indicator/expma.ts +197 -197
  145. package/src/engine/renderers/Indicator/fastk.ts +316 -316
  146. package/src/engine/renderers/Indicator/fib.ts +141 -141
  147. package/src/engine/renderers/Indicator/hma.ts +136 -136
  148. package/src/engine/renderers/Indicator/hv.ts +124 -124
  149. package/src/engine/renderers/Indicator/ichimoku.ts +181 -181
  150. package/src/engine/renderers/Indicator/index.ts +241 -241
  151. package/src/engine/renderers/Indicator/indicatorData.ts +650 -650
  152. package/src/engine/renderers/Indicator/kama.ts +136 -136
  153. package/src/engine/renderers/Indicator/keltner.ts +137 -137
  154. package/src/engine/renderers/Indicator/kst.ts +302 -302
  155. package/src/engine/renderers/Indicator/ma.ts +200 -200
  156. package/src/engine/renderers/Indicator/macd.ts +477 -477
  157. package/src/engine/renderers/Indicator/macdLegend.ts +141 -141
  158. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +272 -272
  159. package/src/engine/renderers/Indicator/mfi.ts +142 -142
  160. package/src/engine/renderers/Indicator/mom.ts +311 -311
  161. package/src/engine/renderers/Indicator/obv.ts +123 -123
  162. package/src/engine/renderers/Indicator/parkinson.ts +124 -124
  163. package/src/engine/renderers/Indicator/pivot.ts +131 -131
  164. package/src/engine/renderers/Indicator/pvt.ts +123 -123
  165. package/src/engine/renderers/Indicator/roc.ts +143 -143
  166. package/src/engine/renderers/Indicator/rsi.ts +390 -390
  167. package/src/engine/renderers/Indicator/sar.ts +113 -113
  168. package/src/engine/renderers/Indicator/scale/atr_scale.ts +19 -19
  169. package/src/engine/renderers/Indicator/scale/cci_scale.ts +19 -19
  170. package/src/engine/renderers/Indicator/scale/fastk_scale.ts +19 -19
  171. package/src/engine/renderers/Indicator/scale/indicator_scale.ts +204 -204
  172. package/src/engine/renderers/Indicator/scale/kst_scale.ts +19 -19
  173. package/src/engine/renderers/Indicator/scale/macd_scale.ts +22 -22
  174. package/src/engine/renderers/Indicator/scale/mom_scale.ts +19 -19
  175. package/src/engine/renderers/Indicator/scale/rsi_scale.ts +19 -19
  176. package/src/engine/renderers/Indicator/scale/stoch_scale.ts +19 -19
  177. package/src/engine/renderers/Indicator/scale/volume_scale.ts +26 -26
  178. package/src/engine/renderers/Indicator/scale/wmsr_scale.ts +19 -19
  179. package/src/engine/renderers/Indicator/stoch.ts +359 -359
  180. package/src/engine/renderers/Indicator/structure.ts +126 -126
  181. package/src/engine/renderers/Indicator/subPaneConfig.ts +265 -265
  182. package/src/engine/renderers/Indicator/supertrend.ts +115 -115
  183. package/src/engine/renderers/Indicator/tema.ts +136 -136
  184. package/src/engine/renderers/Indicator/trix.ts +158 -158
  185. package/src/engine/renderers/Indicator/vma.ts +124 -124
  186. package/src/engine/renderers/Indicator/volumeProfile.ts +125 -125
  187. package/src/engine/renderers/Indicator/vwap.ts +123 -123
  188. package/src/engine/renderers/Indicator/wma.ts +136 -136
  189. package/src/engine/renderers/Indicator/wmsr.ts +328 -328
  190. package/src/engine/renderers/Indicator/zones.ts +104 -104
  191. package/src/engine/renderers/__tests__/boll.renderer.test.ts +314 -314
  192. package/src/engine/renderers/__tests__/ene.renderer.test.ts +305 -305
  193. package/src/engine/renderers/__tests__/expma.renderer.test.ts +279 -279
  194. package/src/engine/renderers/__tests__/ma.renderer.test.ts +426 -426
  195. package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +502 -502
  196. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +173 -173
  197. package/src/engine/renderers/candle.ts +459 -459
  198. package/src/engine/renderers/crosshair.ts +69 -69
  199. package/src/engine/renderers/customMarkers.ts +162 -162
  200. package/src/engine/renderers/extremaMarkers.ts +246 -246
  201. package/src/engine/renderers/gridLines.ts +90 -90
  202. package/src/engine/renderers/lastPrice.ts +97 -97
  203. package/src/engine/renderers/paneTitle.ts +136 -136
  204. package/src/engine/renderers/subVolume.ts +236 -236
  205. package/src/engine/renderers/timeAxis.ts +121 -121
  206. package/src/engine/renderers/webgl/candleSurface.ts +955 -955
  207. package/src/engine/renderers/webgl/sharedWebGLSurface.ts +146 -146
  208. package/src/engine/renderers/yAxis.ts +105 -105
  209. package/src/engine/scale/__tests__/logFormula.spec.ts +148 -148
  210. package/src/engine/scale/logFormula.ts +130 -130
  211. package/src/engine/scale/price.ts +39 -39
  212. package/src/engine/scale/priceScale.ts +264 -264
  213. package/src/engine/subPaneManager.ts +442 -427
  214. package/src/engine/theme/colors.ts +642 -642
  215. package/src/engine/theme/fonts.ts +20 -20
  216. package/src/engine/utils/klineConfig.ts +49 -49
  217. package/src/engine/utils/tickCount.ts +11 -11
  218. package/src/engine/utils/tickPosition.ts +214 -214
  219. package/src/engine/utils/zoom.ts +83 -83
  220. package/src/engine/viewport/viewport.ts +67 -67
  221. package/src/index.ts +3 -3
  222. package/src/plugin/ConfigManager.ts +93 -93
  223. package/src/plugin/EventBus.ts +77 -77
  224. package/src/plugin/HookSystem.ts +106 -106
  225. package/src/plugin/PluginHost.ts +243 -243
  226. package/src/plugin/PluginRegistry.ts +92 -92
  227. package/src/plugin/StateStore.ts +73 -73
  228. package/src/plugin/index.ts +19 -19
  229. package/src/plugin/rendererPluginManager.ts +368 -368
  230. package/src/plugin/stateKeys.ts +8 -8
  231. package/src/plugin/types.ts +526 -526
  232. package/src/reactivity/index.ts +2 -2
  233. package/src/reactivity/signal.ts +119 -119
  234. package/src/semantic/controller.ts +251 -251
  235. package/src/semantic/drawShape.ts +260 -260
  236. package/src/semantic/index.ts +28 -28
  237. package/src/semantic/schema.json +256 -256
  238. package/src/semantic/types.ts +251 -251
  239. package/src/semantic/validator.ts +349 -349
  240. package/src/types/kLine.ts +13 -13
  241. package/src/types/price.ts +56 -56
  242. package/src/types/volumePrice.ts +33 -33
  243. package/src/utils/dateFormat.ts +208 -208
  244. package/src/utils/kLineDraw/axis.ts +562 -562
  245. package/src/utils/priceToY.ts +34 -34
  246. package/src/utils/volumePrice.ts +202 -202
  247. package/src/version.ts +1 -1
@@ -1,241 +1,241 @@
1
- /**
2
- * 指标渲染器导出入口
3
- */
4
-
5
- import type { RendererPlugin } from '../../../plugin'
6
- import { createVolumeRendererPlugin } from '../subVolume'
7
-
8
- // MA 均线
9
- export { createMARendererPlugin, type MAFlags } from './ma'
10
-
11
- // BOLL 布林带
12
- export { createBOLLRendererPlugin } from './boll'
13
-
14
- // EXPMA 指数平滑移动平均线
15
- export { createEXPMARendererPlugin } from './expma'
16
-
17
- // ENE 轨道线
18
- export { createENERendererPlugin } from './ene'
19
-
20
- // 主图指标图例(统一管理 MA、BOLL 等)
21
- export { createMainIndicatorLegendRendererPlugin } from './mainIndicatorLegend'
22
-
23
- // MACD
24
- export { createMACDRendererPlugin, calcMACDAtIndex, type MACDConfig, type MACDRendererOptions, getMACDTitleInfo } from './macd'
25
- export { createMACDLegendRendererPlugin, type MACDLegendOptions } from './macdLegend'
26
-
27
- // RSI 相对强弱指标
28
- export { createRSIRendererPlugin, type RSIRendererOptions, getRSITitleInfo } from './rsi'
29
-
30
- // CCI 顺势指标
31
- export { createCCIRendererPlugin, type CCIRendererOptions, getCCITitleInfo } from './cci'
32
-
33
- // STOCH 随机指标
34
- export { createSTOCHRendererPlugin, type STOCHRendererOptions, getSTOCHTitleInfo } from './stoch'
35
-
36
- // MOM 动量指标
37
- export { createMOMRendererPlugin, type MOMRendererOptions, getMOMTitleInfo } from './mom'
38
-
39
- // WMSR 威廉指标
40
- export { createWMSRRendererPlugin, type WMSRRendererOptions, getWMSRTitleInfo } from './wmsr'
41
-
42
- // KST 确知指标
43
- export { createKSTRendererPlugin, type KSTRendererOptions, getKSTTitleInfo } from './kst'
44
-
45
- // FASTK 快速随机指标
46
- export { createFASTKRendererPlugin, type FASTKRendererOptions, getFASTKTitleInfo } from './fastk'
47
-
48
- // ATR 平均真实波幅
49
- export { createATRRendererPlugin, type ATRRendererOptions, getATRTitleInfo } from './atr'
50
-
51
- // WMA 加权移动平均
52
- export { createWMARendererPlugin } from './wma'
53
- // DEMA 双指数移动平均
54
- export { createDEMARendererPlugin } from './dema'
55
- // TEMA 三指数移动平均
56
- export { createTEMARendererPlugin } from './tema'
57
- // HMA 赫尔移动平均
58
- export { createHMARendererPlugin } from './hma'
59
- // KAMA 考夫曼自适应移动平均
60
- export { createKAMARendererPlugin } from './kama'
61
- // SAR 抛物线转向
62
- export { createSARRendererPlugin } from './sar'
63
- // SuperTrend 超级趋势
64
- export { createSuperTrendRendererPlugin } from './supertrend'
65
- // Keltner 肯特纳通道
66
- export { createKeltnerRendererPlugin } from './keltner'
67
- // Donchian 唐奇安通道
68
- export { createDonchianRendererPlugin } from './donchian'
69
- // Ichimoku 一目均衡表
70
- export { createIchimokuRendererPlugin } from './ichimoku'
71
- // ROC 变化率
72
- export { createROCRendererPlugin } from './roc'
73
- // TRIX 三重指数平滑平均
74
- export { createTRIXRendererPlugin } from './trix'
75
- // HV 历史波动率
76
- export { createHVRendererPlugin } from './hv'
77
- // Parkinson 帕金森波动率
78
- export { createParkinsonRendererPlugin } from './parkinson'
79
- // Chaikin Vol 蔡金波动率
80
- export { createChaikinVolRendererPlugin } from './chaikinVol'
81
- // VMA 成交量移动平均
82
- export { createVMARendererPlugin } from './vma'
83
- // OBV 能量潮
84
- export { createOBVRendererPlugin } from './obv'
85
- // PVT 价量趋势
86
- export { createPVTRendererPlugin } from './pvt'
87
- // VWAP 成交量加权均价
88
- export { createVWAPRendererPlugin } from './vwap'
89
- // CMF 蔡金资金流
90
- export { createCMFRendererPlugin } from './cmf'
91
- // MFI 资金流量指数
92
- export { createMFIRendererPlugin } from './mfi'
93
- // Pivot Points 枢轴点
94
- export { createPivotRendererPlugin } from './pivot'
95
- // Fibonacci 斐波那契
96
- export { createFibRendererPlugin } from './fib'
97
- // SMC Structure 结构
98
- export { createStructureRendererPlugin } from './structure'
99
- // SMC Zones 区域
100
- export { createZonesRendererPlugin } from './zones'
101
- // Volume Profile 成交量分布
102
- export { createVolumeProfileRendererPlugin } from './volumeProfile'
103
-
104
- /**
105
- * 副图指标类型
106
- */
107
- export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK' | 'ATR'
108
- | 'WMA' | 'DEMA' | 'TEMA' | 'HMA' | 'KAMA' | 'SAR' | 'SUPERTREND' | 'KELTNER' | 'DONCHIAN' | 'ICHIMOKU'
109
- | 'ROC' | 'TRIX' | 'HV' | 'PARKINSON' | 'CHAIKIN_VOL' | 'VMA' | 'OBV' | 'PVT' | 'VWAP'
110
- | 'CMF' | 'MFI' | 'PIVOT' | 'FIB' | 'STRUCTURE' | 'ZONES' | 'VOLUME_PROFILE'
111
-
112
- /**
113
- * 渲染器工厂选项
114
- */
115
- export interface IndicatorRendererOptions {
116
- /** 指标类型 */
117
- indicatorId: SubIndicatorType
118
- /** 目标 pane ID */
119
- paneId: string
120
- }
121
-
122
- // 导入各个创建函数用于工厂函数
123
- import { createMACDRendererPlugin } from './macd'
124
- import { createRSIRendererPlugin } from './rsi'
125
- import { createCCIRendererPlugin } from './cci'
126
- import { createSTOCHRendererPlugin } from './stoch'
127
- import { createMOMRendererPlugin } from './mom'
128
- import { createWMSRRendererPlugin } from './wmsr'
129
- import { createKSTRendererPlugin } from './kst'
130
- import { createFASTKRendererPlugin } from './fastk'
131
- import { createATRRendererPlugin } from './atr'
132
- import { createWMARendererPlugin } from './wma'
133
- import { createDEMARendererPlugin } from './dema'
134
- import { createTEMARendererPlugin } from './tema'
135
- import { createHMARendererPlugin } from './hma'
136
- import { createKAMARendererPlugin } from './kama'
137
- import { createSARRendererPlugin } from './sar'
138
- import { createSuperTrendRendererPlugin } from './supertrend'
139
- import { createKeltnerRendererPlugin } from './keltner'
140
- import { createDonchianRendererPlugin } from './donchian'
141
- import { createIchimokuRendererPlugin } from './ichimoku'
142
- import { createROCRendererPlugin } from './roc'
143
- import { createTRIXRendererPlugin } from './trix'
144
- import { createHVRendererPlugin } from './hv'
145
- import { createParkinsonRendererPlugin } from './parkinson'
146
- import { createChaikinVolRendererPlugin } from './chaikinVol'
147
- import { createVMARendererPlugin } from './vma'
148
- import { createOBVRendererPlugin } from './obv'
149
- import { createPVTRendererPlugin } from './pvt'
150
- import { createVWAPRendererPlugin } from './vwap'
151
- import { createCMFRendererPlugin } from './cmf'
152
- import { createMFIRendererPlugin } from './mfi'
153
- import { createPivotRendererPlugin } from './pivot'
154
- import { createFibRendererPlugin } from './fib'
155
- import { createStructureRendererPlugin } from './structure'
156
- import { createZonesRendererPlugin } from './zones'
157
- import { createVolumeProfileRendererPlugin } from './volumeProfile'
158
-
159
- /**
160
- * 创建副图指标渲染器(统一工厂函数)
161
- */
162
- export function createSubIndicatorRenderer(options: IndicatorRendererOptions): RendererPlugin {
163
- const { indicatorId, paneId } = options
164
-
165
- switch (indicatorId) {
166
- case 'VOLUME':
167
- return createVolumeRendererPlugin({ paneId })
168
- case 'MACD':
169
- return createMACDRendererPlugin({ paneId })
170
- case 'RSI':
171
- return createRSIRendererPlugin({ paneId })
172
- case 'CCI':
173
- return createCCIRendererPlugin({ paneId })
174
- case 'STOCH':
175
- return createSTOCHRendererPlugin({ paneId })
176
- case 'MOM':
177
- return createMOMRendererPlugin({ paneId })
178
- case 'WMSR':
179
- return createWMSRRendererPlugin({ paneId })
180
- case 'KST':
181
- return createKSTRendererPlugin({ paneId })
182
- case 'FASTK':
183
- return createFASTKRendererPlugin({ paneId })
184
- case 'ATR':
185
- return createATRRendererPlugin({ paneId })
186
- case 'WMA':
187
- return createWMARendererPlugin({ paneId })
188
- case 'DEMA':
189
- return createDEMARendererPlugin({ paneId })
190
- case 'TEMA':
191
- return createTEMARendererPlugin({ paneId })
192
- case 'HMA':
193
- return createHMARendererPlugin({ paneId })
194
- case 'KAMA':
195
- return createKAMARendererPlugin({ paneId })
196
- case 'SAR':
197
- return createSARRendererPlugin({ paneId })
198
- case 'SUPERTREND':
199
- return createSuperTrendRendererPlugin({ paneId })
200
- case 'KELTNER':
201
- return createKeltnerRendererPlugin({ paneId })
202
- case 'DONCHIAN':
203
- return createDonchianRendererPlugin({ paneId })
204
- case 'ICHIMOKU':
205
- return createIchimokuRendererPlugin({ paneId })
206
- case 'ROC':
207
- return createROCRendererPlugin({ paneId })
208
- case 'TRIX':
209
- return createTRIXRendererPlugin({ paneId })
210
- case 'HV':
211
- return createHVRendererPlugin({ paneId })
212
- case 'PARKINSON':
213
- return createParkinsonRendererPlugin({ paneId })
214
- case 'CHAIKIN_VOL':
215
- return createChaikinVolRendererPlugin({ paneId })
216
- case 'VMA':
217
- return createVMARendererPlugin({ paneId })
218
- case 'OBV':
219
- return createOBVRendererPlugin({ paneId })
220
- case 'PVT':
221
- return createPVTRendererPlugin({ paneId })
222
- case 'VWAP':
223
- return createVWAPRendererPlugin({ paneId })
224
- case 'CMF':
225
- return createCMFRendererPlugin({ paneId })
226
- case 'MFI':
227
- return createMFIRendererPlugin({ paneId })
228
- case 'PIVOT':
229
- return createPivotRendererPlugin({ paneId })
230
- case 'FIB':
231
- return createFibRendererPlugin({ paneId })
232
- case 'STRUCTURE':
233
- return createStructureRendererPlugin({ paneId })
234
- case 'ZONES':
235
- return createZonesRendererPlugin({ paneId })
236
- case 'VOLUME_PROFILE':
237
- return createVolumeProfileRendererPlugin({ paneId })
238
- default:
239
- throw new Error(`Unknown indicator: ${indicatorId}`)
240
- }
241
- }
1
+ /**
2
+ * 指标渲染器导出入口
3
+ */
4
+
5
+ import type { RendererPlugin } from '../../../plugin'
6
+ import { createVolumeRendererPlugin } from '../subVolume'
7
+
8
+ // MA 均线
9
+ export { createMARendererPlugin, type MAFlags } from './ma'
10
+
11
+ // BOLL 布林带
12
+ export { createBOLLRendererPlugin } from './boll'
13
+
14
+ // EXPMA 指数平滑移动平均线
15
+ export { createEXPMARendererPlugin } from './expma'
16
+
17
+ // ENE 轨道线
18
+ export { createENERendererPlugin } from './ene'
19
+
20
+ // 主图指标图例(统一管理 MA、BOLL 等)
21
+ export { createMainIndicatorLegendRendererPlugin } from './mainIndicatorLegend'
22
+
23
+ // MACD
24
+ export { createMACDRendererPlugin, calcMACDAtIndex, type MACDConfig, type MACDRendererOptions, getMACDTitleInfo } from './macd'
25
+ export { createMACDLegendRendererPlugin, type MACDLegendOptions } from './macdLegend'
26
+
27
+ // RSI 相对强弱指标
28
+ export { createRSIRendererPlugin, type RSIRendererOptions, getRSITitleInfo } from './rsi'
29
+
30
+ // CCI 顺势指标
31
+ export { createCCIRendererPlugin, type CCIRendererOptions, getCCITitleInfo } from './cci'
32
+
33
+ // STOCH 随机指标
34
+ export { createSTOCHRendererPlugin, type STOCHRendererOptions, getSTOCHTitleInfo } from './stoch'
35
+
36
+ // MOM 动量指标
37
+ export { createMOMRendererPlugin, type MOMRendererOptions, getMOMTitleInfo } from './mom'
38
+
39
+ // WMSR 威廉指标
40
+ export { createWMSRRendererPlugin, type WMSRRendererOptions, getWMSRTitleInfo } from './wmsr'
41
+
42
+ // KST 确知指标
43
+ export { createKSTRendererPlugin, type KSTRendererOptions, getKSTTitleInfo } from './kst'
44
+
45
+ // FASTK 快速随机指标
46
+ export { createFASTKRendererPlugin, type FASTKRendererOptions, getFASTKTitleInfo } from './fastk'
47
+
48
+ // ATR 平均真实波幅
49
+ export { createATRRendererPlugin, type ATRRendererOptions, getATRTitleInfo } from './atr'
50
+
51
+ // WMA 加权移动平均
52
+ export { createWMARendererPlugin } from './wma'
53
+ // DEMA 双指数移动平均
54
+ export { createDEMARendererPlugin } from './dema'
55
+ // TEMA 三指数移动平均
56
+ export { createTEMARendererPlugin } from './tema'
57
+ // HMA 赫尔移动平均
58
+ export { createHMARendererPlugin } from './hma'
59
+ // KAMA 考夫曼自适应移动平均
60
+ export { createKAMARendererPlugin } from './kama'
61
+ // SAR 抛物线转向
62
+ export { createSARRendererPlugin } from './sar'
63
+ // SuperTrend 超级趋势
64
+ export { createSuperTrendRendererPlugin } from './supertrend'
65
+ // Keltner 肯特纳通道
66
+ export { createKeltnerRendererPlugin } from './keltner'
67
+ // Donchian 唐奇安通道
68
+ export { createDonchianRendererPlugin } from './donchian'
69
+ // Ichimoku 一目均衡表
70
+ export { createIchimokuRendererPlugin } from './ichimoku'
71
+ // ROC 变化率
72
+ export { createROCRendererPlugin } from './roc'
73
+ // TRIX 三重指数平滑平均
74
+ export { createTRIXRendererPlugin } from './trix'
75
+ // HV 历史波动率
76
+ export { createHVRendererPlugin } from './hv'
77
+ // Parkinson 帕金森波动率
78
+ export { createParkinsonRendererPlugin } from './parkinson'
79
+ // Chaikin Vol 蔡金波动率
80
+ export { createChaikinVolRendererPlugin } from './chaikinVol'
81
+ // VMA 成交量移动平均
82
+ export { createVMARendererPlugin } from './vma'
83
+ // OBV 能量潮
84
+ export { createOBVRendererPlugin } from './obv'
85
+ // PVT 价量趋势
86
+ export { createPVTRendererPlugin } from './pvt'
87
+ // VWAP 成交量加权均价
88
+ export { createVWAPRendererPlugin } from './vwap'
89
+ // CMF 蔡金资金流
90
+ export { createCMFRendererPlugin } from './cmf'
91
+ // MFI 资金流量指数
92
+ export { createMFIRendererPlugin } from './mfi'
93
+ // Pivot Points 枢轴点
94
+ export { createPivotRendererPlugin } from './pivot'
95
+ // Fibonacci 斐波那契
96
+ export { createFibRendererPlugin } from './fib'
97
+ // SMC Structure 结构
98
+ export { createStructureRendererPlugin } from './structure'
99
+ // SMC Zones 区域
100
+ export { createZonesRendererPlugin } from './zones'
101
+ // Volume Profile 成交量分布
102
+ export { createVolumeProfileRendererPlugin } from './volumeProfile'
103
+
104
+ /**
105
+ * 副图指标类型
106
+ */
107
+ export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK' | 'ATR'
108
+ | 'WMA' | 'DEMA' | 'TEMA' | 'HMA' | 'KAMA' | 'SAR' | 'SUPERTREND' | 'KELTNER' | 'DONCHIAN' | 'ICHIMOKU'
109
+ | 'ROC' | 'TRIX' | 'HV' | 'PARKINSON' | 'CHAIKIN_VOL' | 'VMA' | 'OBV' | 'PVT' | 'VWAP'
110
+ | 'CMF' | 'MFI' | 'PIVOT' | 'FIB' | 'STRUCTURE' | 'ZONES' | 'VOLUME_PROFILE'
111
+
112
+ /**
113
+ * 渲染器工厂选项
114
+ */
115
+ export interface IndicatorRendererOptions {
116
+ /** 指标类型 */
117
+ indicatorId: SubIndicatorType
118
+ /** 目标 pane ID */
119
+ paneId: string
120
+ }
121
+
122
+ // 导入各个创建函数用于工厂函数
123
+ import { createMACDRendererPlugin } from './macd'
124
+ import { createRSIRendererPlugin } from './rsi'
125
+ import { createCCIRendererPlugin } from './cci'
126
+ import { createSTOCHRendererPlugin } from './stoch'
127
+ import { createMOMRendererPlugin } from './mom'
128
+ import { createWMSRRendererPlugin } from './wmsr'
129
+ import { createKSTRendererPlugin } from './kst'
130
+ import { createFASTKRendererPlugin } from './fastk'
131
+ import { createATRRendererPlugin } from './atr'
132
+ import { createWMARendererPlugin } from './wma'
133
+ import { createDEMARendererPlugin } from './dema'
134
+ import { createTEMARendererPlugin } from './tema'
135
+ import { createHMARendererPlugin } from './hma'
136
+ import { createKAMARendererPlugin } from './kama'
137
+ import { createSARRendererPlugin } from './sar'
138
+ import { createSuperTrendRendererPlugin } from './supertrend'
139
+ import { createKeltnerRendererPlugin } from './keltner'
140
+ import { createDonchianRendererPlugin } from './donchian'
141
+ import { createIchimokuRendererPlugin } from './ichimoku'
142
+ import { createROCRendererPlugin } from './roc'
143
+ import { createTRIXRendererPlugin } from './trix'
144
+ import { createHVRendererPlugin } from './hv'
145
+ import { createParkinsonRendererPlugin } from './parkinson'
146
+ import { createChaikinVolRendererPlugin } from './chaikinVol'
147
+ import { createVMARendererPlugin } from './vma'
148
+ import { createOBVRendererPlugin } from './obv'
149
+ import { createPVTRendererPlugin } from './pvt'
150
+ import { createVWAPRendererPlugin } from './vwap'
151
+ import { createCMFRendererPlugin } from './cmf'
152
+ import { createMFIRendererPlugin } from './mfi'
153
+ import { createPivotRendererPlugin } from './pivot'
154
+ import { createFibRendererPlugin } from './fib'
155
+ import { createStructureRendererPlugin } from './structure'
156
+ import { createZonesRendererPlugin } from './zones'
157
+ import { createVolumeProfileRendererPlugin } from './volumeProfile'
158
+
159
+ /**
160
+ * 创建副图指标渲染器(统一工厂函数)
161
+ */
162
+ export function createSubIndicatorRenderer(options: IndicatorRendererOptions): RendererPlugin {
163
+ const { indicatorId, paneId } = options
164
+
165
+ switch (indicatorId) {
166
+ case 'VOLUME':
167
+ return createVolumeRendererPlugin({ paneId })
168
+ case 'MACD':
169
+ return createMACDRendererPlugin({ paneId })
170
+ case 'RSI':
171
+ return createRSIRendererPlugin({ paneId })
172
+ case 'CCI':
173
+ return createCCIRendererPlugin({ paneId })
174
+ case 'STOCH':
175
+ return createSTOCHRendererPlugin({ paneId })
176
+ case 'MOM':
177
+ return createMOMRendererPlugin({ paneId })
178
+ case 'WMSR':
179
+ return createWMSRRendererPlugin({ paneId })
180
+ case 'KST':
181
+ return createKSTRendererPlugin({ paneId })
182
+ case 'FASTK':
183
+ return createFASTKRendererPlugin({ paneId })
184
+ case 'ATR':
185
+ return createATRRendererPlugin({ paneId })
186
+ case 'WMA':
187
+ return createWMARendererPlugin({ paneId })
188
+ case 'DEMA':
189
+ return createDEMARendererPlugin({ paneId })
190
+ case 'TEMA':
191
+ return createTEMARendererPlugin({ paneId })
192
+ case 'HMA':
193
+ return createHMARendererPlugin({ paneId })
194
+ case 'KAMA':
195
+ return createKAMARendererPlugin({ paneId })
196
+ case 'SAR':
197
+ return createSARRendererPlugin({ paneId })
198
+ case 'SUPERTREND':
199
+ return createSuperTrendRendererPlugin({ paneId })
200
+ case 'KELTNER':
201
+ return createKeltnerRendererPlugin({ paneId })
202
+ case 'DONCHIAN':
203
+ return createDonchianRendererPlugin({ paneId })
204
+ case 'ICHIMOKU':
205
+ return createIchimokuRendererPlugin({ paneId })
206
+ case 'ROC':
207
+ return createROCRendererPlugin({ paneId })
208
+ case 'TRIX':
209
+ return createTRIXRendererPlugin({ paneId })
210
+ case 'HV':
211
+ return createHVRendererPlugin({ paneId })
212
+ case 'PARKINSON':
213
+ return createParkinsonRendererPlugin({ paneId })
214
+ case 'CHAIKIN_VOL':
215
+ return createChaikinVolRendererPlugin({ paneId })
216
+ case 'VMA':
217
+ return createVMARendererPlugin({ paneId })
218
+ case 'OBV':
219
+ return createOBVRendererPlugin({ paneId })
220
+ case 'PVT':
221
+ return createPVTRendererPlugin({ paneId })
222
+ case 'VWAP':
223
+ return createVWAPRendererPlugin({ paneId })
224
+ case 'CMF':
225
+ return createCMFRendererPlugin({ paneId })
226
+ case 'MFI':
227
+ return createMFIRendererPlugin({ paneId })
228
+ case 'PIVOT':
229
+ return createPivotRendererPlugin({ paneId })
230
+ case 'FIB':
231
+ return createFibRendererPlugin({ paneId })
232
+ case 'STRUCTURE':
233
+ return createStructureRendererPlugin({ paneId })
234
+ case 'ZONES':
235
+ return createZonesRendererPlugin({ paneId })
236
+ case 'VOLUME_PROFILE':
237
+ return createVolumeProfileRendererPlugin({ paneId })
238
+ default:
239
+ throw new Error(`Unknown indicator: ${indicatorId}`)
240
+ }
241
+ }