@363045841yyt/klinechart-core 0.8.5 → 0.8.7

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 (517) hide show
  1. package/dist/config/chartSettings.d.ts +21 -2
  2. package/dist/config/chartSettings.d.ts.map +1 -1
  3. package/dist/config/chartSettings.js +9 -1
  4. package/dist/config/chartSettings.js.map +1 -1
  5. package/dist/controllers/createChartController.d.ts.map +1 -1
  6. package/dist/controllers/createChartController.js +50 -3
  7. package/dist/controllers/createChartController.js.map +1 -1
  8. package/dist/controllers/types.d.ts +34 -23
  9. package/dist/controllers/types.d.ts.map +1 -1
  10. package/dist/data-fetchers/baostock.d.ts +0 -3
  11. package/dist/data-fetchers/baostock.d.ts.map +1 -1
  12. package/dist/data-fetchers/baostock.js +0 -1
  13. package/dist/data-fetchers/baostock.js.map +1 -1
  14. package/dist/data-fetchers/dataBuffer.d.ts +13 -2
  15. package/dist/data-fetchers/dataBuffer.d.ts.map +1 -1
  16. package/dist/data-fetchers/dataBuffer.js +41 -7
  17. package/dist/data-fetchers/dataBuffer.js.map +1 -1
  18. package/dist/data-fetchers/dataBufferTypes.d.ts +11 -0
  19. package/dist/data-fetchers/dataBufferTypes.d.ts.map +1 -0
  20. package/dist/data-fetchers/dataBufferTypes.js +2 -0
  21. package/dist/data-fetchers/dataBufferTypes.js.map +1 -0
  22. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts +4 -3
  23. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts.map +1 -1
  24. package/dist/data-fetchers/fetcherDefinitionRegistry.js +9 -2
  25. package/dist/data-fetchers/fetcherDefinitionRegistry.js.map +1 -1
  26. package/dist/data-fetchers/gotdx/gotdx.d.ts +7 -0
  27. package/dist/data-fetchers/gotdx/gotdx.d.ts.map +1 -0
  28. package/dist/data-fetchers/gotdx/gotdx.js +7 -0
  29. package/dist/data-fetchers/gotdx/gotdx.js.map +1 -0
  30. package/dist/data-fetchers/gotdx.d.ts +0 -8
  31. package/dist/data-fetchers/gotdx.d.ts.map +1 -1
  32. package/dist/data-fetchers/gotdx.js +40 -3
  33. package/dist/data-fetchers/gotdx.js.map +1 -1
  34. package/dist/data-fetchers/hundred-mock.d.ts +0 -3
  35. package/dist/data-fetchers/hundred-mock.d.ts.map +1 -1
  36. package/dist/data-fetchers/hundred-mock.js +0 -1
  37. package/dist/data-fetchers/hundred-mock.js.map +1 -1
  38. package/dist/data-fetchers/index.d.ts +10 -8
  39. package/dist/data-fetchers/index.d.ts.map +1 -1
  40. package/dist/data-fetchers/index.js +8 -7
  41. package/dist/data-fetchers/index.js.map +1 -1
  42. package/dist/data-fetchers/router.d.ts +2 -0
  43. package/dist/data-fetchers/router.d.ts.map +1 -1
  44. package/dist/data-fetchers/router.js +8 -1
  45. package/dist/data-fetchers/router.js.map +1 -1
  46. package/dist/data-fetchers/thousand-mock.d.ts +0 -3
  47. package/dist/data-fetchers/thousand-mock.d.ts.map +1 -1
  48. package/dist/data-fetchers/thousand-mock.js +0 -1
  49. package/dist/data-fetchers/thousand-mock.js.map +1 -1
  50. package/dist/data-fetchers/timeShareBuffer.d.ts +27 -0
  51. package/dist/data-fetchers/timeShareBuffer.d.ts.map +1 -0
  52. package/dist/data-fetchers/timeShareBuffer.js +79 -0
  53. package/dist/data-fetchers/timeShareBuffer.js.map +1 -0
  54. package/dist/data-fetchers/tradingview.d.ts +0 -8
  55. package/dist/data-fetchers/tradingview.d.ts.map +1 -1
  56. package/dist/data-fetchers/tradingview.js +1 -2
  57. package/dist/data-fetchers/tradingview.js.map +1 -1
  58. package/dist/data-fetchers/types.d.ts +9 -1
  59. package/dist/data-fetchers/types.d.ts.map +1 -1
  60. package/dist/engine/chart.d.ts +29 -1
  61. package/dist/engine/chart.d.ts.map +1 -1
  62. package/dist/engine/chart.js +140 -5
  63. package/dist/engine/chart.js.map +1 -1
  64. package/dist/engine/chartTypes.d.ts +3 -0
  65. package/dist/engine/chartTypes.d.ts.map +1 -1
  66. package/dist/engine/controller/interaction.d.ts +12 -1
  67. package/dist/engine/controller/interaction.d.ts.map +1 -1
  68. package/dist/engine/controller/interaction.js +105 -14
  69. package/dist/engine/controller/interaction.js.map +1 -1
  70. package/dist/engine/data/chartDataManager.d.ts +38 -11
  71. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  72. package/dist/engine/data/chartDataManager.js +491 -188
  73. package/dist/engine/data/chartDataManager.js.map +1 -1
  74. package/dist/engine/draw/pixelAlign.d.ts +0 -27
  75. package/dist/engine/draw/pixelAlign.d.ts.map +1 -1
  76. package/dist/engine/draw/pixelAlign.js +1 -1
  77. package/dist/engine/draw/pixelAlign.js.map +1 -1
  78. package/dist/engine/indicators/calculators.d.ts +0 -104
  79. package/dist/engine/indicators/calculators.d.ts.map +1 -1
  80. package/dist/engine/indicators/calculators.js +77 -171
  81. package/dist/engine/indicators/calculators.js.map +1 -1
  82. package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
  83. package/dist/engine/indicators/chartIndicatorManager.js +3 -2
  84. package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
  85. package/dist/engine/indicators/ichimokuState.d.ts +2 -0
  86. package/dist/engine/indicators/ichimokuState.d.ts.map +1 -1
  87. package/dist/engine/indicators/ichimokuState.js.map +1 -1
  88. package/dist/engine/indicators/macdState.d.ts +0 -5
  89. package/dist/engine/indicators/macdState.d.ts.map +1 -1
  90. package/dist/engine/indicators/macdState.js +1 -1
  91. package/dist/engine/indicators/macdState.js.map +1 -1
  92. package/dist/engine/indicators/registerBuiltins.d.ts.map +1 -1
  93. package/dist/engine/indicators/registerBuiltins.js +1 -0
  94. package/dist/engine/indicators/registerBuiltins.js.map +1 -1
  95. package/dist/engine/indicators/rsiState.d.ts +0 -4
  96. package/dist/engine/indicators/rsiState.d.ts.map +1 -1
  97. package/dist/engine/indicators/rsiState.js +1 -1
  98. package/dist/engine/indicators/rsiState.js.map +1 -1
  99. package/dist/engine/indicators/scheduler.d.ts.map +1 -1
  100. package/dist/engine/indicators/scheduler.js +1 -7
  101. package/dist/engine/indicators/scheduler.js.map +1 -1
  102. package/dist/engine/indicators/visibleStateComposers.d.ts +14 -0
  103. package/dist/engine/indicators/visibleStateComposers.d.ts.map +1 -1
  104. package/dist/engine/indicators/visibleStateComposers.js +34 -0
  105. package/dist/engine/indicators/visibleStateComposers.js.map +1 -1
  106. package/dist/engine/layout/chartPaneLayout.d.ts +2 -0
  107. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  108. package/dist/engine/layout/chartPaneLayout.js +24 -6
  109. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  110. package/dist/engine/modes/kLineMode.d.ts +37 -0
  111. package/dist/engine/modes/kLineMode.d.ts.map +1 -0
  112. package/dist/engine/modes/kLineMode.js +22 -0
  113. package/dist/engine/modes/kLineMode.js.map +1 -0
  114. package/dist/engine/modes/timeShareMode.d.ts +37 -0
  115. package/dist/engine/modes/timeShareMode.d.ts.map +1 -0
  116. package/dist/engine/modes/timeShareMode.js +59 -0
  117. package/dist/engine/modes/timeShareMode.js.map +1 -0
  118. package/dist/engine/modes/types.d.ts +47 -0
  119. package/dist/engine/modes/types.d.ts.map +1 -0
  120. package/dist/engine/modes/types.js +2 -0
  121. package/dist/engine/modes/types.js.map +1 -0
  122. package/dist/engine/paneRenderer.d.ts +4 -0
  123. package/dist/engine/paneRenderer.d.ts.map +1 -1
  124. package/dist/engine/paneRenderer.js +27 -40
  125. package/dist/engine/paneRenderer.js.map +1 -1
  126. package/dist/engine/render/chartRenderer.d.ts +4 -23
  127. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  128. package/dist/engine/render/chartRenderer.js +87 -17
  129. package/dist/engine/render/chartRenderer.js.map +1 -1
  130. package/dist/engine/renderers/Indicator/atr.d.ts +1 -18
  131. package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
  132. package/dist/engine/renderers/Indicator/atr.js +3 -22
  133. package/dist/engine/renderers/Indicator/atr.js.map +1 -1
  134. package/dist/engine/renderers/Indicator/boll.d.ts +1 -4
  135. package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
  136. package/dist/engine/renderers/Indicator/boll.js +3 -18
  137. package/dist/engine/renderers/Indicator/boll.js.map +1 -1
  138. package/dist/engine/renderers/Indicator/cci.d.ts +1 -22
  139. package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
  140. package/dist/engine/renderers/Indicator/cci.js +8 -20
  141. package/dist/engine/renderers/Indicator/cci.js.map +1 -1
  142. package/dist/engine/renderers/Indicator/chaikinVol.d.ts +1 -7
  143. package/dist/engine/renderers/Indicator/chaikinVol.d.ts.map +1 -1
  144. package/dist/engine/renderers/Indicator/chaikinVol.js +3 -16
  145. package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
  146. package/dist/engine/renderers/Indicator/cmf.d.ts +1 -7
  147. package/dist/engine/renderers/Indicator/cmf.d.ts.map +1 -1
  148. package/dist/engine/renderers/Indicator/cmf.js +3 -15
  149. package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
  150. package/dist/engine/renderers/Indicator/dema.d.ts +1 -7
  151. package/dist/engine/renderers/Indicator/dema.d.ts.map +1 -1
  152. package/dist/engine/renderers/Indicator/dema.js +3 -17
  153. package/dist/engine/renderers/Indicator/dema.js.map +1 -1
  154. package/dist/engine/renderers/Indicator/donchian.d.ts +1 -8
  155. package/dist/engine/renderers/Indicator/donchian.d.ts.map +1 -1
  156. package/dist/engine/renderers/Indicator/donchian.js +2 -2
  157. package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
  158. package/dist/engine/renderers/Indicator/ene.d.ts +1 -12
  159. package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
  160. package/dist/engine/renderers/Indicator/ene.js +3 -18
  161. package/dist/engine/renderers/Indicator/ene.js.map +1 -1
  162. package/dist/engine/renderers/Indicator/expma.d.ts +1 -4
  163. package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
  164. package/dist/engine/renderers/Indicator/expma.js +2 -2
  165. package/dist/engine/renderers/Indicator/expma.js.map +1 -1
  166. package/dist/engine/renderers/Indicator/fastk.d.ts +1 -22
  167. package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
  168. package/dist/engine/renderers/Indicator/fastk.js +11 -64
  169. package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
  170. package/dist/engine/renderers/Indicator/fib.d.ts +1 -6
  171. package/dist/engine/renderers/Indicator/fib.d.ts.map +1 -1
  172. package/dist/engine/renderers/Indicator/fib.js +2 -2
  173. package/dist/engine/renderers/Indicator/fib.js.map +1 -1
  174. package/dist/engine/renderers/Indicator/hma.d.ts +1 -7
  175. package/dist/engine/renderers/Indicator/hma.d.ts.map +1 -1
  176. package/dist/engine/renderers/Indicator/hma.js +3 -17
  177. package/dist/engine/renderers/Indicator/hma.js.map +1 -1
  178. package/dist/engine/renderers/Indicator/hv.d.ts +1 -7
  179. package/dist/engine/renderers/Indicator/hv.d.ts.map +1 -1
  180. package/dist/engine/renderers/Indicator/hv.js +3 -16
  181. package/dist/engine/renderers/Indicator/hv.js.map +1 -1
  182. package/dist/engine/renderers/Indicator/ichimoku.d.ts +1 -8
  183. package/dist/engine/renderers/Indicator/ichimoku.d.ts.map +1 -1
  184. package/dist/engine/renderers/Indicator/ichimoku.js +27 -5
  185. package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
  186. package/dist/engine/renderers/Indicator/kama.d.ts +1 -7
  187. package/dist/engine/renderers/Indicator/kama.d.ts.map +1 -1
  188. package/dist/engine/renderers/Indicator/kama.js +3 -17
  189. package/dist/engine/renderers/Indicator/kama.js.map +1 -1
  190. package/dist/engine/renderers/Indicator/keltner.d.ts +1 -8
  191. package/dist/engine/renderers/Indicator/keltner.d.ts.map +1 -1
  192. package/dist/engine/renderers/Indicator/keltner.js +2 -2
  193. package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
  194. package/dist/engine/renderers/Indicator/kst.d.ts +1 -22
  195. package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
  196. package/dist/engine/renderers/Indicator/kst.js +2 -2
  197. package/dist/engine/renderers/Indicator/kst.js.map +1 -1
  198. package/dist/engine/renderers/Indicator/ma.d.ts +1 -4
  199. package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
  200. package/dist/engine/renderers/Indicator/ma.js +1 -1
  201. package/dist/engine/renderers/Indicator/ma.js.map +1 -1
  202. package/dist/engine/renderers/Indicator/macd.d.ts +1 -49
  203. package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
  204. package/dist/engine/renderers/Indicator/macd.js +2 -12
  205. package/dist/engine/renderers/Indicator/macd.js.map +1 -1
  206. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
  207. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +205 -0
  208. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
  209. package/dist/engine/renderers/Indicator/mfi.d.ts +1 -7
  210. package/dist/engine/renderers/Indicator/mfi.d.ts.map +1 -1
  211. package/dist/engine/renderers/Indicator/mfi.js +3 -15
  212. package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
  213. package/dist/engine/renderers/Indicator/mom.d.ts +1 -22
  214. package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
  215. package/dist/engine/renderers/Indicator/mom.js +8 -23
  216. package/dist/engine/renderers/Indicator/mom.js.map +1 -1
  217. package/dist/engine/renderers/Indicator/obv.d.ts +1 -7
  218. package/dist/engine/renderers/Indicator/obv.d.ts.map +1 -1
  219. package/dist/engine/renderers/Indicator/obv.js +3 -14
  220. package/dist/engine/renderers/Indicator/obv.js.map +1 -1
  221. package/dist/engine/renderers/Indicator/parkinson.d.ts +1 -7
  222. package/dist/engine/renderers/Indicator/parkinson.d.ts.map +1 -1
  223. package/dist/engine/renderers/Indicator/parkinson.js +3 -16
  224. package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
  225. package/dist/engine/renderers/Indicator/pivot.d.ts +1 -6
  226. package/dist/engine/renderers/Indicator/pivot.d.ts.map +1 -1
  227. package/dist/engine/renderers/Indicator/pivot.js +2 -2
  228. package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
  229. package/dist/engine/renderers/Indicator/pvt.d.ts +1 -7
  230. package/dist/engine/renderers/Indicator/pvt.d.ts.map +1 -1
  231. package/dist/engine/renderers/Indicator/pvt.js +3 -14
  232. package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
  233. package/dist/engine/renderers/Indicator/roc.d.ts +1 -8
  234. package/dist/engine/renderers/Indicator/roc.d.ts.map +1 -1
  235. package/dist/engine/renderers/Indicator/roc.js +3 -15
  236. package/dist/engine/renderers/Indicator/roc.js.map +1 -1
  237. package/dist/engine/renderers/Indicator/rsi.d.ts +0 -32
  238. package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
  239. package/dist/engine/renderers/Indicator/rsi.js +3 -3
  240. package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
  241. package/dist/engine/renderers/Indicator/sar.d.ts +1 -8
  242. package/dist/engine/renderers/Indicator/sar.d.ts.map +1 -1
  243. package/dist/engine/renderers/Indicator/sar.js +2 -2
  244. package/dist/engine/renderers/Indicator/sar.js.map +1 -1
  245. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +2 -0
  246. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
  247. package/dist/engine/renderers/Indicator/scale/indicator_scale.js +10 -6
  248. package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
  249. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts +4 -0
  250. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts.map +1 -0
  251. package/dist/engine/renderers/Indicator/shared/dashedLines.js +50 -0
  252. package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -0
  253. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts +14 -0
  254. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -0
  255. package/dist/engine/renderers/Indicator/shared/titleInfo.js +25 -0
  256. package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -0
  257. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +5 -0
  258. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -0
  259. package/dist/engine/renderers/Indicator/shared/webglBand.js +17 -0
  260. package/dist/engine/renderers/Indicator/shared/webglBand.js.map +1 -0
  261. package/dist/engine/renderers/Indicator/stoch.d.ts +1 -22
  262. package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
  263. package/dist/engine/renderers/Indicator/stoch.js +5 -46
  264. package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
  265. package/dist/engine/renderers/Indicator/structure.d.ts +1 -7
  266. package/dist/engine/renderers/Indicator/structure.d.ts.map +1 -1
  267. package/dist/engine/renderers/Indicator/structure.js +2 -2
  268. package/dist/engine/renderers/Indicator/structure.js.map +1 -1
  269. package/dist/engine/renderers/Indicator/supertrend.d.ts +1 -8
  270. package/dist/engine/renderers/Indicator/supertrend.d.ts.map +1 -1
  271. package/dist/engine/renderers/Indicator/supertrend.js +2 -2
  272. package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
  273. package/dist/engine/renderers/Indicator/tema.d.ts +1 -7
  274. package/dist/engine/renderers/Indicator/tema.d.ts.map +1 -1
  275. package/dist/engine/renderers/Indicator/tema.js +3 -17
  276. package/dist/engine/renderers/Indicator/tema.js.map +1 -1
  277. package/dist/engine/renderers/Indicator/trix.d.ts +1 -8
  278. package/dist/engine/renderers/Indicator/trix.d.ts.map +1 -1
  279. package/dist/engine/renderers/Indicator/trix.js +2 -2
  280. package/dist/engine/renderers/Indicator/trix.js.map +1 -1
  281. package/dist/engine/renderers/Indicator/vma.d.ts +1 -7
  282. package/dist/engine/renderers/Indicator/vma.d.ts.map +1 -1
  283. package/dist/engine/renderers/Indicator/vma.js +3 -15
  284. package/dist/engine/renderers/Indicator/vma.js.map +1 -1
  285. package/dist/engine/renderers/Indicator/volumeProfile.d.ts +1 -7
  286. package/dist/engine/renderers/Indicator/volumeProfile.d.ts.map +1 -1
  287. package/dist/engine/renderers/Indicator/volumeProfile.js +2 -2
  288. package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
  289. package/dist/engine/renderers/Indicator/vwap.d.ts +1 -7
  290. package/dist/engine/renderers/Indicator/vwap.d.ts.map +1 -1
  291. package/dist/engine/renderers/Indicator/vwap.js +3 -14
  292. package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
  293. package/dist/engine/renderers/Indicator/wma.d.ts +1 -7
  294. package/dist/engine/renderers/Indicator/wma.d.ts.map +1 -1
  295. package/dist/engine/renderers/Indicator/wma.js +3 -17
  296. package/dist/engine/renderers/Indicator/wma.js.map +1 -1
  297. package/dist/engine/renderers/Indicator/wmsr.d.ts +1 -22
  298. package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
  299. package/dist/engine/renderers/Indicator/wmsr.js +8 -23
  300. package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
  301. package/dist/engine/renderers/Indicator/zones.d.ts +1 -6
  302. package/dist/engine/renderers/Indicator/zones.d.ts.map +1 -1
  303. package/dist/engine/renderers/Indicator/zones.js +2 -2
  304. package/dist/engine/renderers/Indicator/zones.js.map +1 -1
  305. package/dist/engine/renderers/candle.d.ts +0 -16
  306. package/dist/engine/renderers/candle.d.ts.map +1 -1
  307. package/dist/engine/renderers/candle.js +1 -1
  308. package/dist/engine/renderers/candle.js.map +1 -1
  309. package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
  310. package/dist/engine/renderers/comparisonLine.js +2 -0
  311. package/dist/engine/renderers/comparisonLine.js.map +1 -1
  312. package/dist/engine/renderers/crosshair.js +1 -1
  313. package/dist/engine/renderers/crosshair.js.map +1 -1
  314. package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
  315. package/dist/engine/renderers/extremaMarkers.js +2 -0
  316. package/dist/engine/renderers/extremaMarkers.js.map +1 -1
  317. package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
  318. package/dist/engine/renderers/lastPrice.js +7 -2
  319. package/dist/engine/renderers/lastPrice.js.map +1 -1
  320. package/dist/engine/renderers/leftYAxis.d.ts +11 -0
  321. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -0
  322. package/dist/engine/renderers/leftYAxis.js +67 -0
  323. package/dist/engine/renderers/leftYAxis.js.map +1 -0
  324. package/dist/engine/renderers/subVolume.d.ts +1 -13
  325. package/dist/engine/renderers/subVolume.d.ts.map +1 -1
  326. package/dist/engine/renderers/subVolume.js +1 -1
  327. package/dist/engine/renderers/subVolume.js.map +1 -1
  328. package/dist/engine/renderers/timeAxis.d.ts +0 -2
  329. package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
  330. package/dist/engine/renderers/timeAxis.js +4 -1
  331. package/dist/engine/renderers/timeAxis.js.map +1 -1
  332. package/dist/engine/renderers/timeShare.d.ts +3 -0
  333. package/dist/engine/renderers/timeShare.d.ts.map +1 -0
  334. package/dist/engine/renderers/timeShare.js +260 -0
  335. package/dist/engine/renderers/timeShare.js.map +1 -0
  336. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  337. package/dist/engine/renderers/yAxis.js +9 -1
  338. package/dist/engine/renderers/yAxis.js.map +1 -1
  339. package/dist/engine/scale/price.d.ts +0 -7
  340. package/dist/engine/scale/price.d.ts.map +1 -1
  341. package/dist/engine/scale/price.js +3 -2
  342. package/dist/engine/scale/price.js.map +1 -1
  343. package/dist/engine/theme/fonts.d.ts +0 -2
  344. package/dist/engine/theme/fonts.d.ts.map +1 -1
  345. package/dist/engine/theme/fonts.js +1 -1
  346. package/dist/engine/theme/fonts.js.map +1 -1
  347. package/dist/engine/utils/klineConfig.d.ts.map +1 -1
  348. package/dist/engine/utils/klineConfig.js +1 -5
  349. package/dist/engine/utils/klineConfig.js.map +1 -1
  350. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  351. package/dist/engine/viewport/chartViewportManager.js +6 -5
  352. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  353. package/dist/index.d.ts +1 -0
  354. package/dist/index.d.ts.map +1 -1
  355. package/dist/index.js +1 -0
  356. package/dist/index.js.map +1 -1
  357. package/dist/mcp/chartBridge.d.ts.map +1 -1
  358. package/dist/mcp/chartBridge.js +2 -1
  359. package/dist/mcp/chartBridge.js.map +1 -1
  360. package/dist/plugin/types.d.ts +1 -0
  361. package/dist/plugin/types.d.ts.map +1 -1
  362. package/dist/plugin/types.js.map +1 -1
  363. package/dist/semantic/types.d.ts +1 -1
  364. package/dist/semantic/types.d.ts.map +1 -1
  365. package/dist/tokens/theme-base.d.ts +5 -0
  366. package/dist/tokens/theme-base.d.ts.map +1 -0
  367. package/dist/tokens/theme-base.js +31 -0
  368. package/dist/tokens/theme-base.js.map +1 -0
  369. package/dist/tokens/theme-china.d.ts.map +1 -1
  370. package/dist/tokens/theme-china.js +3 -0
  371. package/dist/tokens/theme-china.js.map +1 -1
  372. package/dist/tokens/theme-dark.d.ts.map +1 -1
  373. package/dist/tokens/theme-dark.js +12 -31
  374. package/dist/tokens/theme-dark.js.map +1 -1
  375. package/dist/tokens/theme-light.d.ts.map +1 -1
  376. package/dist/tokens/theme-light.js +11 -30
  377. package/dist/tokens/theme-light.js.map +1 -1
  378. package/dist/tokens/types.d.ts +7 -0
  379. package/dist/tokens/types.d.ts.map +1 -1
  380. package/dist/types/price.d.ts +8 -0
  381. package/dist/types/price.d.ts.map +1 -1
  382. package/dist/types/price.js +4 -0
  383. package/dist/types/price.js.map +1 -1
  384. package/dist/utils/dateFormat.d.ts +5 -42
  385. package/dist/utils/dateFormat.d.ts.map +1 -1
  386. package/dist/utils/dateFormat.js +24 -4
  387. package/dist/utils/dateFormat.js.map +1 -1
  388. package/dist/utils/kLineDraw/axis.d.ts +9 -28
  389. package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
  390. package/dist/utils/kLineDraw/axis.js +33 -58
  391. package/dist/utils/kLineDraw/axis.js.map +1 -1
  392. package/dist/utils/uuid.d.ts +2 -0
  393. package/dist/utils/uuid.d.ts.map +1 -0
  394. package/dist/utils/uuid.js +10 -0
  395. package/dist/utils/uuid.js.map +1 -0
  396. package/dist/utils/volumePrice.d.ts +0 -40
  397. package/dist/utils/volumePrice.d.ts.map +1 -1
  398. package/dist/utils/volumePrice.js +2 -2
  399. package/dist/utils/volumePrice.js.map +1 -1
  400. package/dist/version.d.ts +1 -1
  401. package/dist/version.js +1 -1
  402. package/package.json +1 -1
  403. package/src/config/chartSettings.ts +9 -1
  404. package/src/controllers/createChartController.ts +53 -3
  405. package/src/controllers/types.ts +36 -17
  406. package/src/data-fetchers/__tests__/dataBuffer.test.ts +39 -5
  407. package/src/data-fetchers/baostock.ts +1 -1
  408. package/src/data-fetchers/dataBuffer.ts +48 -11
  409. package/src/data-fetchers/dataBufferTypes.ts +11 -0
  410. package/src/data-fetchers/fetcherDefinitionRegistry.ts +14 -4
  411. package/src/data-fetchers/gotdx/gotdx.ts +6 -0
  412. package/src/data-fetchers/gotdx.ts +45 -7
  413. package/src/data-fetchers/hundred-mock.ts +1 -1
  414. package/src/data-fetchers/index.ts +10 -20
  415. package/src/data-fetchers/router.ts +12 -1
  416. package/src/data-fetchers/thousand-mock.ts +1 -1
  417. package/src/data-fetchers/timeShareBuffer.ts +92 -0
  418. package/src/data-fetchers/tradingview.ts +2 -2
  419. package/src/data-fetchers/types.ts +15 -2
  420. package/src/engine/__tests__/chart.dpr.test.ts +1 -0
  421. package/src/engine/chart.ts +157 -7
  422. package/src/engine/chartTypes.ts +3 -0
  423. package/src/engine/controller/__tests__/interaction.dpr.test.ts +2 -0
  424. package/src/engine/controller/interaction.ts +115 -16
  425. package/src/engine/data/chartDataManager.ts +557 -214
  426. package/src/engine/draw/pixelAlign.ts +1 -1
  427. package/src/engine/indicators/__tests__/_propertyAssertions.ts +2 -2
  428. package/src/engine/indicators/__tests__/ichimoku.test.ts +3 -3
  429. package/src/engine/indicators/__tests__/registerBuiltins.test.ts +1 -1
  430. package/src/engine/indicators/calculators.ts +105 -236
  431. package/src/engine/indicators/chartIndicatorManager.ts +3 -2
  432. package/src/engine/indicators/ichimokuState.ts +2 -0
  433. package/src/engine/indicators/macdState.ts +1 -1
  434. package/src/engine/indicators/registerBuiltins.ts +1 -0
  435. package/src/engine/indicators/rsiState.ts +1 -1
  436. package/src/engine/indicators/scheduler.ts +1 -7
  437. package/src/engine/indicators/visibleStateComposers.ts +51 -0
  438. package/src/engine/layout/chartPaneLayout.ts +26 -6
  439. package/src/engine/modes/kLineMode.ts +57 -0
  440. package/src/engine/modes/timeShareMode.ts +95 -0
  441. package/src/engine/modes/types.ts +63 -0
  442. package/src/engine/paneRenderer.ts +37 -46
  443. package/src/engine/render/chartRenderer.ts +93 -20
  444. package/src/engine/renderers/Indicator/atr.ts +4 -29
  445. package/src/engine/renderers/Indicator/boll.ts +3 -24
  446. package/src/engine/renderers/Indicator/cci.ts +9 -27
  447. package/src/engine/renderers/Indicator/chaikinVol.ts +3 -23
  448. package/src/engine/renderers/Indicator/cmf.ts +3 -22
  449. package/src/engine/renderers/Indicator/dema.ts +5 -26
  450. package/src/engine/renderers/Indicator/donchian.ts +3 -3
  451. package/src/engine/renderers/Indicator/ene.ts +3 -24
  452. package/src/engine/renderers/Indicator/expma.ts +2 -2
  453. package/src/engine/renderers/Indicator/fastk.ts +12 -95
  454. package/src/engine/renderers/Indicator/fib.ts +2 -2
  455. package/src/engine/renderers/Indicator/hma.ts +5 -26
  456. package/src/engine/renderers/Indicator/hv.ts +3 -23
  457. package/src/engine/renderers/Indicator/ichimoku.ts +26 -6
  458. package/src/engine/renderers/Indicator/kama.ts +5 -26
  459. package/src/engine/renderers/Indicator/keltner.ts +3 -3
  460. package/src/engine/renderers/Indicator/kst.ts +3 -3
  461. package/src/engine/renderers/Indicator/ma.ts +1 -1
  462. package/src/engine/renderers/Indicator/macd.ts +4 -21
  463. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +228 -1
  464. package/src/engine/renderers/Indicator/mfi.ts +3 -22
  465. package/src/engine/renderers/Indicator/mom.ts +9 -30
  466. package/src/engine/renderers/Indicator/obv.ts +3 -21
  467. package/src/engine/renderers/Indicator/parkinson.ts +3 -23
  468. package/src/engine/renderers/Indicator/pivot.ts +2 -2
  469. package/src/engine/renderers/Indicator/pvt.ts +3 -21
  470. package/src/engine/renderers/Indicator/roc.ts +4 -23
  471. package/src/engine/renderers/Indicator/rsi.ts +4 -4
  472. package/src/engine/renderers/Indicator/sar.ts +3 -3
  473. package/src/engine/renderers/Indicator/scale/indicator_scale.ts +11 -4
  474. package/src/engine/renderers/Indicator/shared/dashedLines.ts +81 -0
  475. package/src/engine/renderers/Indicator/shared/titleInfo.ts +52 -0
  476. package/src/engine/renderers/Indicator/shared/webglBand.ts +23 -0
  477. package/src/engine/renderers/Indicator/stoch.ts +6 -71
  478. package/src/engine/renderers/Indicator/structure.ts +2 -2
  479. package/src/engine/renderers/Indicator/supertrend.ts +3 -3
  480. package/src/engine/renderers/Indicator/tema.ts +5 -26
  481. package/src/engine/renderers/Indicator/trix.ts +3 -3
  482. package/src/engine/renderers/Indicator/vma.ts +3 -22
  483. package/src/engine/renderers/Indicator/volumeProfile.ts +2 -2
  484. package/src/engine/renderers/Indicator/vwap.ts +3 -21
  485. package/src/engine/renderers/Indicator/wma.ts +5 -26
  486. package/src/engine/renderers/Indicator/wmsr.ts +9 -30
  487. package/src/engine/renderers/Indicator/zones.ts +2 -2
  488. package/src/engine/renderers/candle.ts +1 -1
  489. package/src/engine/renderers/comparisonLine.ts +1 -0
  490. package/src/engine/renderers/crosshair.ts +1 -1
  491. package/src/engine/renderers/extremaMarkers.ts +1 -0
  492. package/src/engine/renderers/lastPrice.ts +5 -2
  493. package/src/engine/renderers/leftYAxis.ts +77 -0
  494. package/src/engine/renderers/subVolume.ts +3 -3
  495. package/src/engine/renderers/timeAxis.ts +16 -13
  496. package/src/engine/renderers/timeShare.ts +271 -0
  497. package/src/engine/renderers/yAxis.ts +9 -1
  498. package/src/engine/scale/price.ts +2 -2
  499. package/src/engine/theme/fonts.ts +1 -1
  500. package/src/engine/utils/klineConfig.ts +1 -5
  501. package/src/engine/viewport/chartViewportManager.ts +6 -5
  502. package/src/index.ts +1 -0
  503. package/src/mcp/chartBridge.ts +2 -1
  504. package/src/plugin/types.ts +1 -0
  505. package/src/semantic/types.ts +1 -1
  506. package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +15 -1
  507. package/src/tokens/theme-base.ts +36 -0
  508. package/src/tokens/theme-china.ts +4 -0
  509. package/src/tokens/theme-dark.ts +13 -33
  510. package/src/tokens/theme-light.ts +13 -33
  511. package/src/tokens/types.ts +9 -0
  512. package/src/types/price.ts +13 -0
  513. package/src/utils/dateFormat.ts +27 -4
  514. package/src/utils/kLineDraw/axis.ts +40 -107
  515. package/src/utils/uuid.ts +8 -0
  516. package/src/utils/volumePrice.ts +2 -2
  517. package/src/version.ts +1 -1
@@ -188,7 +188,7 @@ export function calcMAData(data, period) {
188
188
  export const DEFAULT_RSI_PERIOD1 = 6;
189
189
  export const DEFAULT_RSI_PERIOD2 = 12;
190
190
  export const DEFAULT_RSI_PERIOD3 = 24;
191
- export const DEFAULT_RSI_PERIODS = [6, 12, 24];
191
+ const DEFAULT_RSI_PERIODS = [6, 12, 24];
192
192
  /**
193
193
  * 计算 RSI 数据
194
194
  * RSI = 100 - 100 / (1 + RS)
@@ -254,7 +254,7 @@ export function calcRSIData(data, period) {
254
254
  // ============================================================================
255
255
  // CCI 顺势指标
256
256
  // ============================================================================
257
- export const DEFAULT_CCI_PERIOD = 14;
257
+ const DEFAULT_CCI_PERIOD = 14;
258
258
  export function calcCCIData(data, period) {
259
259
  const result = new Array(data.length);
260
260
  if (data.length < period)
@@ -292,8 +292,8 @@ export function calcCCIData(data, period) {
292
292
  // ============================================================================
293
293
  // STOCH 随机指标
294
294
  // ============================================================================
295
- export const DEFAULT_STOCH_N = 9;
296
- export const DEFAULT_STOCH_M = 3;
295
+ const DEFAULT_STOCH_N = 9;
296
+ const DEFAULT_STOCH_M = 3;
297
297
  export function calcSTOCHData(data, n, m) {
298
298
  const result = new Array(data.length);
299
299
  if (data.length < n)
@@ -341,7 +341,7 @@ export function calcSTOCHData(data, n, m) {
341
341
  // ============================================================================
342
342
  // MOM 动量指标
343
343
  // ============================================================================
344
- export const DEFAULT_MOM_PERIOD = 10;
344
+ const DEFAULT_MOM_PERIOD = 10;
345
345
  export function calcMOMData(data, period) {
346
346
  const result = new Array(data.length);
347
347
  if (data.length < period + 1)
@@ -358,7 +358,7 @@ export function calcMOMData(data, period) {
358
358
  // ============================================================================
359
359
  // WMSR 威廉指标
360
360
  // ============================================================================
361
- export const DEFAULT_WMSR_PERIOD = 14;
361
+ const DEFAULT_WMSR_PERIOD = 14;
362
362
  export function calcWMSRData(data, period) {
363
363
  const result = new Array(data.length);
364
364
  if (data.length < period)
@@ -386,11 +386,11 @@ export function calcWMSRData(data, period) {
386
386
  // ============================================================================
387
387
  // KST 确知指标
388
388
  // ============================================================================
389
- export const DEFAULT_KST_ROC1 = 10;
390
- export const DEFAULT_KST_ROC2 = 15;
391
- export const DEFAULT_KST_ROC3 = 20;
392
- export const DEFAULT_KST_ROC4 = 30;
393
- export const DEFAULT_KST_SIGNAL = 9;
389
+ const DEFAULT_KST_ROC1 = 10;
390
+ const DEFAULT_KST_ROC2 = 15;
391
+ const DEFAULT_KST_ROC3 = 20;
392
+ const DEFAULT_KST_ROC4 = 30;
393
+ const DEFAULT_KST_SIGNAL = 9;
394
394
  function calcROCInternal(data, period) {
395
395
  const result = new Array(data.length);
396
396
  if (data.length < period + 1)
@@ -460,7 +460,7 @@ export function calcKSTData(data, roc1, roc2, roc3, roc4, signalPeriod) {
460
460
  // ============================================================================
461
461
  // FASTK 快速随机指标
462
462
  // ============================================================================
463
- export const DEFAULT_FASTK_PERIOD = 9;
463
+ const DEFAULT_FASTK_PERIOD = 9;
464
464
  export function calcFASTKData(data, period) {
465
465
  const result = new Array(data.length);
466
466
  if (data.length < period)
@@ -488,9 +488,9 @@ export function calcFASTKData(data, period) {
488
488
  /**
489
489
  * 默认 MACD 参数
490
490
  */
491
- export const DEFAULT_MACD_FAST_PERIOD = 12;
492
- export const DEFAULT_MACD_SLOW_PERIOD = 26;
493
- export const DEFAULT_MACD_SIGNAL_PERIOD = 9;
491
+ const DEFAULT_MACD_FAST_PERIOD = 12;
492
+ const DEFAULT_MACD_SLOW_PERIOD = 26;
493
+ const DEFAULT_MACD_SIGNAL_PERIOD = 9;
494
494
  /**
495
495
  * 计算 EMA(指数移动平均)值
496
496
  * EMA(today) = close × K + EMA(yesterday) × (1 - K)
@@ -499,7 +499,7 @@ export const DEFAULT_MACD_SIGNAL_PERIOD = 9;
499
499
  * @param period 周期
500
500
  * @returns EMA 值数组,第一个值使用第一个收盘价
501
501
  */
502
- export function calcEMA(data, period) {
502
+ function calcEMA(data, period) {
503
503
  const result = new Array(data.length);
504
504
  const k = 2 / (period + 1);
505
505
  if (data.length === 0)
@@ -520,7 +520,7 @@ export function calcEMA(data, period) {
520
520
  * @param period 周期
521
521
  * @returns EMA 值数组
522
522
  */
523
- export function calcEMAFromArray(values, period) {
523
+ function calcEMAFromArray(values, period) {
524
524
  const result = new Array(values.length);
525
525
  const k = 2 / (period + 1);
526
526
  const firstValid = values.findIndex(v => v !== undefined);
@@ -713,7 +713,7 @@ export function calcMACDDataSoA(layout, fastPeriod, slowPeriod, signalPeriod) {
713
713
  // ============================================================================
714
714
  // ATR — Wilder's Average True Range
715
715
  // ============================================================================
716
- export const DEFAULT_ATR_PERIOD = 14;
716
+ const DEFAULT_ATR_PERIOD = 14;
717
717
  /**
718
718
  * 计算 Wilder ATR。
719
719
  * TR(0) = H(0) - L(0)
@@ -763,19 +763,12 @@ export function calcATRData(data, period) {
763
763
  }
764
764
  return result;
765
765
  }
766
- /**
767
- * 从 SoA 布局计算 ATR(包装函数,对齐其他指标的 SoA 入口)
768
- */
769
- export function calcATRDataSoA(layout, period) {
770
- const data = SharedKLineBuffer.toKLineData(layout);
771
- return calcATRData(data, period);
772
- }
773
766
  // ============================================================================
774
767
  // WMA — Weighted Moving Average (linear weights)
775
768
  // 权重: w_i = i (i=1..period),分母 = period*(period+1)/2
776
769
  // 滞后 = (period-1)/3 (相比 SMA 更快响应)
777
770
  // ============================================================================
778
- export const DEFAULT_WMA_PERIOD = 9;
771
+ const DEFAULT_WMA_PERIOD = 9;
779
772
  function _computeWMAOnNumbers(values, period) {
780
773
  const n = values.length;
781
774
  const result = new Array(n).fill(undefined);
@@ -807,10 +800,6 @@ export function calcWMAData(data, period) {
807
800
  closes[i] = data[i].close;
808
801
  return _computeWMAOnNumbers(closes, period);
809
802
  }
810
- export function calcWMADataSoA(layout, period) {
811
- const data = SharedKLineBuffer.toKLineData(layout);
812
- return calcWMAData(data, period);
813
- }
814
803
  // ============================================================================
815
804
  // EMA helper(DEMA / TEMA 复用,沿用 EXPMA 的 first-close seed 习惯)
816
805
  // alpha = 2 / (period + 1)
@@ -842,7 +831,7 @@ function _computeEMASeries(values, period) {
842
831
  // 公式: DEMA(t) = 2*EMA(t) - EMA(EMA)(t)
843
832
  // 性质: 对线性输入零滞后(稳态),warmup ~ 2*(period-1)
844
833
  // ============================================================================
845
- export const DEFAULT_DEMA_PERIOD = 20;
834
+ const DEFAULT_DEMA_PERIOD = 20;
846
835
  export function calcDEMAData(data, period) {
847
836
  const n = data.length;
848
837
  const result = new Array(n).fill(undefined);
@@ -862,16 +851,12 @@ export function calcDEMAData(data, period) {
862
851
  }
863
852
  return result;
864
853
  }
865
- export function calcDEMADataSoA(layout, period) {
866
- const data = SharedKLineBuffer.toKLineData(layout);
867
- return calcDEMAData(data, period);
868
- }
869
854
  // ============================================================================
870
855
  // TEMA — Triple Exponential Moving Average
871
856
  // 公式: TEMA(t) = 3*EMA(t) - 3*EMA(EMA)(t) + EMA(EMA(EMA))(t)
872
857
  // 性质: 对二次多项式输入零滞后(稳态),warmup ~ 3*(period-1)
873
858
  // ============================================================================
874
- export const DEFAULT_TEMA_PERIOD = 20;
859
+ const DEFAULT_TEMA_PERIOD = 20;
875
860
  export function calcTEMAData(data, period) {
876
861
  const n = data.length;
877
862
  const result = new Array(n).fill(undefined);
@@ -893,17 +878,13 @@ export function calcTEMAData(data, period) {
893
878
  }
894
879
  return result;
895
880
  }
896
- export function calcTEMADataSoA(layout, period) {
897
- const data = SharedKLineBuffer.toKLineData(layout);
898
- return calcTEMAData(data, period);
899
- }
900
881
  // ============================================================================
901
882
  // HMA — Hull Moving Average
902
883
  // 公式: HMA(n) = WMA( 2*WMA(close, n/2) - WMA(close, n), sqrt(n) )
903
884
  // 性质: 平滑性高于 WMA,滞后远低于同期 SMA
904
885
  // warmup ≈ period - 1 + round(sqrt(period)) - 1
905
886
  // ============================================================================
906
- export const DEFAULT_HMA_PERIOD = 9;
887
+ const DEFAULT_HMA_PERIOD = 9;
907
888
  export function calcHMAData(data, period) {
908
889
  const n = data.length;
909
890
  const result = new Array(n).fill(undefined);
@@ -926,10 +907,6 @@ export function calcHMAData(data, period) {
926
907
  }
927
908
  return _computeWMAOnNumbers(raw, sqrtPeriod);
928
909
  }
929
- export function calcHMADataSoA(layout, period) {
930
- const data = SharedKLineBuffer.toKLineData(layout);
931
- return calcHMAData(data, period);
932
- }
933
910
  // ============================================================================
934
911
  // KAMA — Kaufman's Adaptive Moving Average
935
912
  // 自适应:在趋势强时跟得紧(接近 fast EMA),在震荡时跟得慢(接近 slow EMA)。
@@ -938,9 +915,9 @@ export function calcHMADataSoA(layout, period) {
938
915
  // KAMA(t) = KAMA(t-1) + SC * (close[t] - KAMA(t-1))
939
916
  // 种子 KAMA(n-1) = close[n-1](或 SMA(n);这里采用 close 种子以保持与项目内 EMA 系列一致)
940
917
  // ============================================================================
941
- export const DEFAULT_KAMA_PERIOD = 10;
942
- export const DEFAULT_KAMA_FAST_PERIOD = 2;
943
- export const DEFAULT_KAMA_SLOW_PERIOD = 30;
918
+ const DEFAULT_KAMA_PERIOD = 10;
919
+ const DEFAULT_KAMA_FAST_PERIOD = 2;
920
+ const DEFAULT_KAMA_SLOW_PERIOD = 30;
944
921
  export function calcKAMAData(data, period, fastPeriod, slowPeriod) {
945
922
  const n = data.length;
946
923
  const result = new Array(n).fill(undefined);
@@ -972,12 +949,8 @@ export function calcKAMAData(data, period, fastPeriod, slowPeriod) {
972
949
  }
973
950
  return result;
974
951
  }
975
- export function calcKAMADataSoA(layout, period, fastPeriod, slowPeriod) {
976
- const data = SharedKLineBuffer.toKLineData(layout);
977
- return calcKAMAData(data, period, fastPeriod, slowPeriod);
978
- }
979
- export const DEFAULT_SAR_STEP = 0.02;
980
- export const DEFAULT_SAR_MAX_STEP = 0.2;
952
+ const DEFAULT_SAR_STEP = 0.02;
953
+ const DEFAULT_SAR_MAX_STEP = 0.2;
981
954
  export function calcSARData(data, step, maxStep) {
982
955
  const n = data.length;
983
956
  const result = new Array(n).fill(undefined);
@@ -1031,12 +1004,8 @@ export function calcSARData(data, step, maxStep) {
1031
1004
  }
1032
1005
  return result;
1033
1006
  }
1034
- export function calcSARDataSoA(layout, step, maxStep) {
1035
- const data = SharedKLineBuffer.toKLineData(layout);
1036
- return calcSARData(data, step, maxStep);
1037
- }
1038
- export const DEFAULT_SUPERTREND_ATR_PERIOD = 10;
1039
- export const DEFAULT_SUPERTREND_MULTIPLIER = 3;
1007
+ const DEFAULT_SUPERTREND_ATR_PERIOD = 10;
1008
+ const DEFAULT_SUPERTREND_MULTIPLIER = 3;
1040
1009
  export function calcSuperTrendData(data, atrPeriod, multiplier) {
1041
1010
  const n = data.length;
1042
1011
  const result = new Array(n).fill(undefined);
@@ -1071,13 +1040,9 @@ export function calcSuperTrendData(data, atrPeriod, multiplier) {
1071
1040
  }
1072
1041
  return result;
1073
1042
  }
1074
- export function calcSuperTrendDataSoA(layout, atrPeriod, multiplier) {
1075
- const data = SharedKLineBuffer.toKLineData(layout);
1076
- return calcSuperTrendData(data, atrPeriod, multiplier);
1077
- }
1078
- export const DEFAULT_KELTNER_EMA_PERIOD = 20;
1079
- export const DEFAULT_KELTNER_ATR_PERIOD = 10;
1080
- export const DEFAULT_KELTNER_MULTIPLIER = 2;
1043
+ const DEFAULT_KELTNER_EMA_PERIOD = 20;
1044
+ const DEFAULT_KELTNER_ATR_PERIOD = 10;
1045
+ const DEFAULT_KELTNER_MULTIPLIER = 2;
1081
1046
  export function calcKeltnerData(data, emaPeriod, atrPeriod, multiplier) {
1082
1047
  const n = data.length;
1083
1048
  const result = new Array(n).fill(undefined);
@@ -1101,11 +1066,7 @@ export function calcKeltnerData(data, emaPeriod, atrPeriod, multiplier) {
1101
1066
  }
1102
1067
  return result;
1103
1068
  }
1104
- export function calcKeltnerDataSoA(layout, emaPeriod, atrPeriod, multiplier) {
1105
- const data = SharedKLineBuffer.toKLineData(layout);
1106
- return calcKeltnerData(data, emaPeriod, atrPeriod, multiplier);
1107
- }
1108
- export const DEFAULT_DONCHIAN_PERIOD = 20;
1069
+ const DEFAULT_DONCHIAN_PERIOD = 20;
1109
1070
  export function calcDonchianData(data, period) {
1110
1071
  const n = data.length;
1111
1072
  const result = new Array(n).fill(undefined);
@@ -1125,14 +1086,10 @@ export function calcDonchianData(data, period) {
1125
1086
  }
1126
1087
  return result;
1127
1088
  }
1128
- export function calcDonchianDataSoA(layout, period) {
1129
- const data = SharedKLineBuffer.toKLineData(layout);
1130
- return calcDonchianData(data, period);
1131
- }
1132
- export const DEFAULT_ICHIMOKU_TENKAN = 9;
1133
- export const DEFAULT_ICHIMOKU_KIJUN = 26;
1134
- export const DEFAULT_ICHIMOKU_SPAN_B = 52;
1135
- export const DEFAULT_ICHIMOKU_DISPLACEMENT = 26;
1089
+ const DEFAULT_ICHIMOKU_TENKAN = 9;
1090
+ const DEFAULT_ICHIMOKU_KIJUN = 26;
1091
+ const DEFAULT_ICHIMOKU_SPAN_B = 52;
1092
+ const DEFAULT_ICHIMOKU_DISPLACEMENT = 26;
1136
1093
  function _rollingMidline(data, period) {
1137
1094
  const n = data.length;
1138
1095
  const result = new Array(n).fill(undefined);
@@ -1154,9 +1111,11 @@ function _rollingMidline(data, period) {
1154
1111
  }
1155
1112
  export function calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, displacement) {
1156
1113
  const n = data.length;
1157
- const result = new Array(n).fill(undefined);
1158
- if (n === 0 || tenkanPeriod <= 0 || kijunPeriod <= 0 || spanBPeriod <= 0)
1159
- return result;
1114
+ const totalLen = n + displacement;
1115
+ const result = new Array(totalLen).fill(undefined);
1116
+ if (n === 0 || tenkanPeriod <= 0 || kijunPeriod <= 0 || spanBPeriod <= 0) {
1117
+ return result.slice(0, n);
1118
+ }
1160
1119
  const tenkan = _rollingMidline(data, tenkanPeriod);
1161
1120
  const kijun = _rollingMidline(data, kijunPeriod);
1162
1121
  const spanBSource = _rollingMidline(data, spanBPeriod);
@@ -1183,17 +1142,28 @@ export function calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, d
1183
1142
  point.chikou = data[future].close;
1184
1143
  result[t] = point;
1185
1144
  }
1145
+ // 未来云:在 data 末尾延伸 displacement 根,仅含 spanA/spanB
1146
+ for (let f = 0; f < displacement; f++) {
1147
+ const t = n + f;
1148
+ const src = t - displacement;
1149
+ const point = {};
1150
+ if (src >= 0 && src < n) {
1151
+ if (tenkan[src] !== undefined && kijun[src] !== undefined) {
1152
+ point.spanA = (tenkan[src] + kijun[src]) / 2;
1153
+ }
1154
+ if (spanBSource[src] !== undefined) {
1155
+ point.spanB = spanBSource[src];
1156
+ }
1157
+ }
1158
+ result[t] = point;
1159
+ }
1186
1160
  return result;
1187
1161
  }
1188
- export function calcIchimokuDataSoA(layout, tenkanPeriod, kijunPeriod, spanBPeriod, displacement) {
1189
- const data = SharedKLineBuffer.toKLineData(layout);
1190
- return calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, displacement);
1191
- }
1192
1162
  // ============================================================================
1193
1163
  // ROC — Rate of Change
1194
1164
  // ROC(t) = (close[t] - close[t-period]) / close[t-period] * 100
1195
1165
  // ============================================================================
1196
- export const DEFAULT_ROC_PERIOD = 12;
1166
+ const DEFAULT_ROC_PERIOD = 12;
1197
1167
  export function calcROCData(data, period) {
1198
1168
  const n = data.length;
1199
1169
  const result = new Array(n).fill(undefined);
@@ -1207,12 +1177,8 @@ export function calcROCData(data, period) {
1207
1177
  }
1208
1178
  return result;
1209
1179
  }
1210
- export function calcROCDataSoA(layout, period) {
1211
- const data = SharedKLineBuffer.toKLineData(layout);
1212
- return calcROCData(data, period);
1213
- }
1214
- export const DEFAULT_TRIX_PERIOD = 15;
1215
- export const DEFAULT_TRIX_SIGNAL_PERIOD = 9;
1180
+ const DEFAULT_TRIX_PERIOD = 15;
1181
+ const DEFAULT_TRIX_SIGNAL_PERIOD = 9;
1216
1182
  export function calcTRIXData(data, period, signalPeriod) {
1217
1183
  const n = data.length;
1218
1184
  const series = new Array(n).fill(undefined);
@@ -1239,17 +1205,13 @@ export function calcTRIXData(data, period, signalPeriod) {
1239
1205
  }
1240
1206
  return { series, signalSeries };
1241
1207
  }
1242
- export function calcTRIXDataSoA(layout, period, signalPeriod) {
1243
- const data = SharedKLineBuffer.toKLineData(layout);
1244
- return calcTRIXData(data, period, signalPeriod);
1245
- }
1246
1208
  // ============================================================================
1247
1209
  // HV — Historical Volatility (close-to-close log returns)
1248
1210
  // HV(t) = stdDev(log(close[i]/close[i-1]), i=t-period+1..t) * sqrt(annualization)
1249
1211
  // 输出年化波动率(百分比形式 × 100)
1250
1212
  // ============================================================================
1251
- export const DEFAULT_HV_PERIOD = 20;
1252
- export const DEFAULT_HV_ANNUALIZATION = 252;
1213
+ const DEFAULT_HV_PERIOD = 20;
1214
+ const DEFAULT_HV_ANNUALIZATION = 252;
1253
1215
  export function calcHVData(data, period, annualizationFactor) {
1254
1216
  const n = data.length;
1255
1217
  const result = new Array(n).fill(undefined);
@@ -1278,16 +1240,12 @@ export function calcHVData(data, period, annualizationFactor) {
1278
1240
  }
1279
1241
  return result;
1280
1242
  }
1281
- export function calcHVDataSoA(layout, period, annualizationFactor) {
1282
- const data = SharedKLineBuffer.toKLineData(layout);
1283
- return calcHVData(data, period, annualizationFactor);
1284
- }
1285
1243
  // ============================================================================
1286
1244
  // Parkinson Volatility — high-low range volatility
1287
1245
  // PV(t) = sqrt( (1/(4*ln(2))) * mean(ln(high[i]/low[i])^2) * annualization ) * 100
1288
1246
  // ============================================================================
1289
- export const DEFAULT_PARKINSON_PERIOD = 20;
1290
- export const DEFAULT_PARKINSON_ANNUALIZATION = 252;
1247
+ const DEFAULT_PARKINSON_PERIOD = 20;
1248
+ const DEFAULT_PARKINSON_ANNUALIZATION = 252;
1291
1249
  export function calcParkinsonData(data, period, annualizationFactor) {
1292
1250
  const n = data.length;
1293
1251
  const result = new Array(n).fill(undefined);
@@ -1315,16 +1273,12 @@ export function calcParkinsonData(data, period, annualizationFactor) {
1315
1273
  }
1316
1274
  return result;
1317
1275
  }
1318
- export function calcParkinsonDataSoA(layout, period, annualizationFactor) {
1319
- const data = SharedKLineBuffer.toKLineData(layout);
1320
- return calcParkinsonData(data, period, annualizationFactor);
1321
- }
1322
1276
  // ============================================================================
1323
1277
  // Chaikin Volatility — EMA(high-low) 的 ROC
1324
1278
  // ChaikinVol(t) = (EMA(H-L, p)[t] - EMA(H-L, p)[t-rocPeriod]) / EMA(H-L, p)[t-rocPeriod] * 100
1325
1279
  // ============================================================================
1326
- export const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10;
1327
- export const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10;
1280
+ const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10;
1281
+ const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10;
1328
1282
  export function calcChaikinVolData(data, emaPeriod, rocPeriod) {
1329
1283
  const n = data.length;
1330
1284
  const result = new Array(n).fill(undefined);
@@ -1343,14 +1297,10 @@ export function calcChaikinVolData(data, emaPeriod, rocPeriod) {
1343
1297
  }
1344
1298
  return result;
1345
1299
  }
1346
- export function calcChaikinVolDataSoA(layout, emaPeriod, rocPeriod) {
1347
- const data = SharedKLineBuffer.toKLineData(layout);
1348
- return calcChaikinVolData(data, emaPeriod, rocPeriod);
1349
- }
1350
1300
  // ============================================================================
1351
1301
  // VMA — Volume Moving Average (SMA of volume)
1352
1302
  // ============================================================================
1353
- export const DEFAULT_VMA_PERIOD = 5;
1303
+ const DEFAULT_VMA_PERIOD = 5;
1354
1304
  export function calcVMAData(data, period) {
1355
1305
  const n = data.length;
1356
1306
  const result = new Array(n).fill(undefined);
@@ -1366,10 +1316,6 @@ export function calcVMAData(data, period) {
1366
1316
  }
1367
1317
  return result;
1368
1318
  }
1369
- export function calcVMADataSoA(layout, period) {
1370
- const data = SharedKLineBuffer.toKLineData(layout);
1371
- return calcVMAData(data, period);
1372
- }
1373
1319
  // ============================================================================
1374
1320
  // OBV — On Balance Volume (cumulative)
1375
1321
  // close[t] > close[t-1] → OBV += volume[t]
@@ -1394,10 +1340,6 @@ export function calcOBVData(data) {
1394
1340
  }
1395
1341
  return result;
1396
1342
  }
1397
- export function calcOBVDataSoA(layout) {
1398
- const data = SharedKLineBuffer.toKLineData(layout);
1399
- return calcOBVData(data);
1400
- }
1401
1343
  // ============================================================================
1402
1344
  // PVT — Price Volume Trend (cumulative)
1403
1345
  // PVT(t) = PVT(t-1) + ((close[t] - close[t-1]) / close[t-1]) * volume[t]
@@ -1420,10 +1362,6 @@ export function calcPVTData(data) {
1420
1362
  }
1421
1363
  return result;
1422
1364
  }
1423
- export function calcPVTDataSoA(layout) {
1424
- const data = SharedKLineBuffer.toKLineData(layout);
1425
- return calcPVTData(data);
1426
- }
1427
1365
  // ============================================================================
1428
1366
  // VWAP — Volume-Weighted Average Price
1429
1367
  // VWAP(t) = sum_{i in session} TP(i) * V(i) / sum_{i in session} V(i)
@@ -1431,7 +1369,7 @@ export function calcPVTDataSoA(layout) {
1431
1369
  // Session reset: if sessionResetGapMs > 0, reset cumulative sums when the gap
1432
1370
  // between consecutive bar timestamps exceeds this value (e.g., overnight)
1433
1371
  // ============================================================================
1434
- export const DEFAULT_VWAP_SESSION_GAP_MS = 0;
1372
+ const DEFAULT_VWAP_SESSION_GAP_MS = 0;
1435
1373
  export function calcVWAPData(data, sessionResetGapMs) {
1436
1374
  const n = data.length;
1437
1375
  const result = new Array(n).fill(undefined);
@@ -1454,17 +1392,13 @@ export function calcVWAPData(data, sessionResetGapMs) {
1454
1392
  }
1455
1393
  return result;
1456
1394
  }
1457
- export function calcVWAPDataSoA(layout, sessionResetGapMs) {
1458
- const data = SharedKLineBuffer.toKLineData(layout);
1459
- return calcVWAPData(data, sessionResetGapMs);
1460
- }
1461
1395
  // ============================================================================
1462
1396
  // CMF — Chaikin Money Flow
1463
1397
  // MFM = ((C-L) - (H-C)) / (H-L) ∈ [-1, 1]
1464
1398
  // MFV = MFM * Volume
1465
1399
  // CMF(t) = sum(MFV[t-period+1..t]) / sum(Volume[t-period+1..t]) ∈ [-1, 1]
1466
1400
  // ============================================================================
1467
- export const DEFAULT_CMF_PERIOD = 20;
1401
+ const DEFAULT_CMF_PERIOD = 20;
1468
1402
  export function calcCMFData(data, period) {
1469
1403
  const n = data.length;
1470
1404
  const result = new Array(n).fill(undefined);
@@ -1491,17 +1425,13 @@ export function calcCMFData(data, period) {
1491
1425
  }
1492
1426
  return result;
1493
1427
  }
1494
- export function calcCMFDataSoA(layout, period) {
1495
- const data = SharedKLineBuffer.toKLineData(layout);
1496
- return calcCMFData(data, period);
1497
- }
1498
1428
  // ============================================================================
1499
1429
  // MFI — Money Flow Index
1500
1430
  // TP = (H+L+C)/3, RMF = TP * Volume
1501
1431
  // PMF = sum of RMF where TP > TP[-1]; NMF = sum where TP < TP[-1]
1502
1432
  // MFR = PMF / NMF; MFI = 100 - 100 / (1 + MFR) ∈ [0, 100]
1503
1433
  // ============================================================================
1504
- export const DEFAULT_MFI_PERIOD = 14;
1434
+ const DEFAULT_MFI_PERIOD = 14;
1505
1435
  export function calcMFIData(data, period) {
1506
1436
  const n = data.length;
1507
1437
  const result = new Array(n).fill(undefined);
@@ -1544,10 +1474,6 @@ export function calcMFIData(data, period) {
1544
1474
  }
1545
1475
  return result;
1546
1476
  }
1547
- export function calcMFIDataSoA(layout, period) {
1548
- const data = SharedKLineBuffer.toKLineData(layout);
1549
- return calcMFIData(data, period);
1550
- }
1551
1477
  export function calcPivotData(data) {
1552
1478
  const n = data.length;
1553
1479
  const result = new Array(n).fill(undefined);
@@ -1569,11 +1495,7 @@ export function calcPivotData(data) {
1569
1495
  }
1570
1496
  return result;
1571
1497
  }
1572
- export function calcPivotDataSoA(layout) {
1573
- const data = SharedKLineBuffer.toKLineData(layout);
1574
- return calcPivotData(data);
1575
- }
1576
- export const DEFAULT_FIB_PERIOD = 50;
1498
+ const DEFAULT_FIB_PERIOD = 50;
1577
1499
  export function calcFibData(data, period) {
1578
1500
  const n = data.length;
1579
1501
  const result = new Array(n).fill(undefined);
@@ -1613,12 +1535,8 @@ export function calcFibData(data, period) {
1613
1535
  }
1614
1536
  return result;
1615
1537
  }
1616
- export function calcFibDataSoA(layout, period) {
1617
- const data = SharedKLineBuffer.toKLineData(layout);
1618
- return calcFibData(data, period);
1619
- }
1620
- export const DEFAULT_STRUCTURE_LEFT = 2;
1621
- export const DEFAULT_STRUCTURE_RIGHT = 2;
1538
+ const DEFAULT_STRUCTURE_LEFT = 2;
1539
+ const DEFAULT_STRUCTURE_RIGHT = 2;
1622
1540
  export function calcStructureData(data, leftWindow, rightWindow, breakoutSource) {
1623
1541
  const n = data.length;
1624
1542
  if (n === 0 || leftWindow < 0 || rightWindow < 0) {
@@ -1714,11 +1632,7 @@ function isExtremum(data, i, left, right, kind) {
1714
1632
  }
1715
1633
  return true;
1716
1634
  }
1717
- export function calcStructureDataSoA(layout, leftWindow, rightWindow, breakoutSource) {
1718
- const data = SharedKLineBuffer.toKLineData(layout);
1719
- return calcStructureData(data, leftWindow, rightWindow, breakoutSource);
1720
- }
1721
- export const DEFAULT_ZONES_OB_LOOKBACK = 5;
1635
+ const DEFAULT_ZONES_OB_LOOKBACK = 5;
1722
1636
  export function calcZonesData(data, obLookback, structureLeftWindow, structureRightWindow, breakoutSource) {
1723
1637
  const n = data.length;
1724
1638
  if (n < 3)
@@ -1788,13 +1702,9 @@ export function calcZonesData(data, obLookback, structureLeftWindow, structureRi
1788
1702
  }
1789
1703
  return zones;
1790
1704
  }
1791
- export function calcZonesDataSoA(layout, obLookback, structureLeftWindow, structureRightWindow, breakoutSource) {
1792
- const data = SharedKLineBuffer.toKLineData(layout);
1793
- return calcZonesData(data, obLookback, structureLeftWindow, structureRightWindow, breakoutSource);
1794
- }
1795
- export const DEFAULT_VP_BINS = 24;
1796
- export const DEFAULT_VP_LOOKBACK = 0;
1797
- export const DEFAULT_VP_VALUE_AREA = 0.7;
1705
+ const DEFAULT_VP_BINS = 24;
1706
+ const DEFAULT_VP_LOOKBACK = 0;
1707
+ const DEFAULT_VP_VALUE_AREA = 0.7;
1798
1708
  export function calcVolumeProfileData(data, bins, lookback, valueAreaPercent) {
1799
1709
  const n = data.length;
1800
1710
  if (n === 0 || bins <= 0) {
@@ -1875,8 +1785,4 @@ export function calcVolumeProfileData(data, bins, lookback, valueAreaPercent) {
1875
1785
  const vah = binsArr[hi].priceHigh;
1876
1786
  return { bins: binsArr, poc, vah, val, totalVolume };
1877
1787
  }
1878
- export function calcVolumeProfileDataSoA(layout, bins, lookback, valueAreaPercent) {
1879
- const data = SharedKLineBuffer.toKLineData(layout);
1880
- return calcVolumeProfileData(data, bins, lookback, valueAreaPercent);
1881
- }
1882
1788
  //# sourceMappingURL=calculators.js.map