@363045841yyt/klinechart-core 0.8.6 → 0.8.8

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 (501) hide show
  1. package/dist/config/chartSettings.d.ts +18 -2
  2. package/dist/config/chartSettings.d.ts.map +1 -1
  3. package/dist/config/chartSettings.js +8 -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 +56 -2
  7. package/dist/controllers/createChartController.js.map +1 -1
  8. package/dist/controllers/types.d.ts +36 -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 +32 -1
  61. package/dist/engine/chart.d.ts.map +1 -1
  62. package/dist/engine/chart.js +148 -7
  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 +6 -1
  67. package/dist/engine/controller/interaction.d.ts.map +1 -1
  68. package/dist/engine/controller/interaction.js +76 -28
  69. package/dist/engine/controller/interaction.js.map +1 -1
  70. package/dist/engine/data/chartDataManager.d.ts +39 -14
  71. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  72. package/dist/engine/data/chartDataManager.js +494 -202
  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 +57 -168
  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/macdState.d.ts +0 -5
  86. package/dist/engine/indicators/macdState.d.ts.map +1 -1
  87. package/dist/engine/indicators/macdState.js +1 -1
  88. package/dist/engine/indicators/macdState.js.map +1 -1
  89. package/dist/engine/indicators/registerBuiltins.d.ts.map +1 -1
  90. package/dist/engine/indicators/registerBuiltins.js +1 -0
  91. package/dist/engine/indicators/registerBuiltins.js.map +1 -1
  92. package/dist/engine/indicators/rsiState.d.ts +0 -4
  93. package/dist/engine/indicators/rsiState.d.ts.map +1 -1
  94. package/dist/engine/indicators/rsiState.js +1 -1
  95. package/dist/engine/indicators/rsiState.js.map +1 -1
  96. package/dist/engine/indicators/scheduler.d.ts.map +1 -1
  97. package/dist/engine/indicators/scheduler.js +1 -7
  98. package/dist/engine/indicators/scheduler.js.map +1 -1
  99. package/dist/engine/layout/chartPaneLayout.d.ts +2 -0
  100. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  101. package/dist/engine/layout/chartPaneLayout.js +24 -6
  102. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  103. package/dist/engine/modes/kLineMode.d.ts +37 -0
  104. package/dist/engine/modes/kLineMode.d.ts.map +1 -0
  105. package/dist/engine/modes/kLineMode.js +22 -0
  106. package/dist/engine/modes/kLineMode.js.map +1 -0
  107. package/dist/engine/modes/timeShareMode.d.ts +37 -0
  108. package/dist/engine/modes/timeShareMode.d.ts.map +1 -0
  109. package/dist/engine/modes/timeShareMode.js +59 -0
  110. package/dist/engine/modes/timeShareMode.js.map +1 -0
  111. package/dist/engine/modes/types.d.ts +47 -0
  112. package/dist/engine/modes/types.d.ts.map +1 -0
  113. package/dist/engine/modes/types.js +2 -0
  114. package/dist/engine/modes/types.js.map +1 -0
  115. package/dist/engine/paneRenderer.d.ts +4 -0
  116. package/dist/engine/paneRenderer.d.ts.map +1 -1
  117. package/dist/engine/paneRenderer.js +27 -40
  118. package/dist/engine/paneRenderer.js.map +1 -1
  119. package/dist/engine/render/chartRenderer.d.ts +4 -23
  120. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  121. package/dist/engine/render/chartRenderer.js +113 -18
  122. package/dist/engine/render/chartRenderer.js.map +1 -1
  123. package/dist/engine/renderers/Indicator/atr.d.ts +1 -18
  124. package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
  125. package/dist/engine/renderers/Indicator/atr.js +3 -22
  126. package/dist/engine/renderers/Indicator/atr.js.map +1 -1
  127. package/dist/engine/renderers/Indicator/boll.d.ts +1 -4
  128. package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
  129. package/dist/engine/renderers/Indicator/boll.js +3 -18
  130. package/dist/engine/renderers/Indicator/boll.js.map +1 -1
  131. package/dist/engine/renderers/Indicator/cci.d.ts +1 -22
  132. package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
  133. package/dist/engine/renderers/Indicator/cci.js +8 -20
  134. package/dist/engine/renderers/Indicator/cci.js.map +1 -1
  135. package/dist/engine/renderers/Indicator/chaikinVol.d.ts +1 -7
  136. package/dist/engine/renderers/Indicator/chaikinVol.d.ts.map +1 -1
  137. package/dist/engine/renderers/Indicator/chaikinVol.js +3 -16
  138. package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
  139. package/dist/engine/renderers/Indicator/cmf.d.ts +1 -7
  140. package/dist/engine/renderers/Indicator/cmf.d.ts.map +1 -1
  141. package/dist/engine/renderers/Indicator/cmf.js +3 -15
  142. package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
  143. package/dist/engine/renderers/Indicator/dema.d.ts +1 -7
  144. package/dist/engine/renderers/Indicator/dema.d.ts.map +1 -1
  145. package/dist/engine/renderers/Indicator/dema.js +3 -17
  146. package/dist/engine/renderers/Indicator/dema.js.map +1 -1
  147. package/dist/engine/renderers/Indicator/donchian.d.ts +1 -8
  148. package/dist/engine/renderers/Indicator/donchian.d.ts.map +1 -1
  149. package/dist/engine/renderers/Indicator/donchian.js +2 -2
  150. package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
  151. package/dist/engine/renderers/Indicator/ene.d.ts +1 -12
  152. package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
  153. package/dist/engine/renderers/Indicator/ene.js +3 -18
  154. package/dist/engine/renderers/Indicator/ene.js.map +1 -1
  155. package/dist/engine/renderers/Indicator/expma.d.ts +1 -4
  156. package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
  157. package/dist/engine/renderers/Indicator/expma.js +2 -2
  158. package/dist/engine/renderers/Indicator/expma.js.map +1 -1
  159. package/dist/engine/renderers/Indicator/fastk.d.ts +1 -22
  160. package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
  161. package/dist/engine/renderers/Indicator/fastk.js +11 -64
  162. package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
  163. package/dist/engine/renderers/Indicator/fib.d.ts +1 -6
  164. package/dist/engine/renderers/Indicator/fib.d.ts.map +1 -1
  165. package/dist/engine/renderers/Indicator/fib.js +2 -2
  166. package/dist/engine/renderers/Indicator/fib.js.map +1 -1
  167. package/dist/engine/renderers/Indicator/hma.d.ts +1 -7
  168. package/dist/engine/renderers/Indicator/hma.d.ts.map +1 -1
  169. package/dist/engine/renderers/Indicator/hma.js +3 -17
  170. package/dist/engine/renderers/Indicator/hma.js.map +1 -1
  171. package/dist/engine/renderers/Indicator/hv.d.ts +1 -7
  172. package/dist/engine/renderers/Indicator/hv.d.ts.map +1 -1
  173. package/dist/engine/renderers/Indicator/hv.js +3 -16
  174. package/dist/engine/renderers/Indicator/hv.js.map +1 -1
  175. package/dist/engine/renderers/Indicator/ichimoku.d.ts +1 -8
  176. package/dist/engine/renderers/Indicator/ichimoku.d.ts.map +1 -1
  177. package/dist/engine/renderers/Indicator/ichimoku.js +2 -2
  178. package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
  179. package/dist/engine/renderers/Indicator/kama.d.ts +1 -7
  180. package/dist/engine/renderers/Indicator/kama.d.ts.map +1 -1
  181. package/dist/engine/renderers/Indicator/kama.js +3 -17
  182. package/dist/engine/renderers/Indicator/kama.js.map +1 -1
  183. package/dist/engine/renderers/Indicator/keltner.d.ts +1 -8
  184. package/dist/engine/renderers/Indicator/keltner.d.ts.map +1 -1
  185. package/dist/engine/renderers/Indicator/keltner.js +2 -2
  186. package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
  187. package/dist/engine/renderers/Indicator/kst.d.ts +1 -22
  188. package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
  189. package/dist/engine/renderers/Indicator/kst.js +2 -2
  190. package/dist/engine/renderers/Indicator/kst.js.map +1 -1
  191. package/dist/engine/renderers/Indicator/ma.d.ts +1 -4
  192. package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
  193. package/dist/engine/renderers/Indicator/ma.js +1 -1
  194. package/dist/engine/renderers/Indicator/ma.js.map +1 -1
  195. package/dist/engine/renderers/Indicator/macd.d.ts +1 -49
  196. package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
  197. package/dist/engine/renderers/Indicator/macd.js +2 -12
  198. package/dist/engine/renderers/Indicator/macd.js.map +1 -1
  199. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
  200. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +114 -1
  201. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
  202. package/dist/engine/renderers/Indicator/mfi.d.ts +1 -7
  203. package/dist/engine/renderers/Indicator/mfi.d.ts.map +1 -1
  204. package/dist/engine/renderers/Indicator/mfi.js +3 -15
  205. package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
  206. package/dist/engine/renderers/Indicator/mom.d.ts +1 -22
  207. package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
  208. package/dist/engine/renderers/Indicator/mom.js +8 -23
  209. package/dist/engine/renderers/Indicator/mom.js.map +1 -1
  210. package/dist/engine/renderers/Indicator/obv.d.ts +1 -7
  211. package/dist/engine/renderers/Indicator/obv.d.ts.map +1 -1
  212. package/dist/engine/renderers/Indicator/obv.js +3 -14
  213. package/dist/engine/renderers/Indicator/obv.js.map +1 -1
  214. package/dist/engine/renderers/Indicator/parkinson.d.ts +1 -7
  215. package/dist/engine/renderers/Indicator/parkinson.d.ts.map +1 -1
  216. package/dist/engine/renderers/Indicator/parkinson.js +3 -16
  217. package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
  218. package/dist/engine/renderers/Indicator/pivot.d.ts +1 -6
  219. package/dist/engine/renderers/Indicator/pivot.d.ts.map +1 -1
  220. package/dist/engine/renderers/Indicator/pivot.js +2 -2
  221. package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
  222. package/dist/engine/renderers/Indicator/pvt.d.ts +1 -7
  223. package/dist/engine/renderers/Indicator/pvt.d.ts.map +1 -1
  224. package/dist/engine/renderers/Indicator/pvt.js +3 -14
  225. package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
  226. package/dist/engine/renderers/Indicator/roc.d.ts +1 -8
  227. package/dist/engine/renderers/Indicator/roc.d.ts.map +1 -1
  228. package/dist/engine/renderers/Indicator/roc.js +3 -15
  229. package/dist/engine/renderers/Indicator/roc.js.map +1 -1
  230. package/dist/engine/renderers/Indicator/rsi.d.ts +0 -32
  231. package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
  232. package/dist/engine/renderers/Indicator/rsi.js +3 -3
  233. package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
  234. package/dist/engine/renderers/Indicator/sar.d.ts +1 -8
  235. package/dist/engine/renderers/Indicator/sar.d.ts.map +1 -1
  236. package/dist/engine/renderers/Indicator/sar.js +2 -2
  237. package/dist/engine/renderers/Indicator/sar.js.map +1 -1
  238. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +2 -0
  239. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
  240. package/dist/engine/renderers/Indicator/scale/indicator_scale.js +10 -6
  241. package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
  242. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts +4 -0
  243. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts.map +1 -0
  244. package/dist/engine/renderers/Indicator/shared/dashedLines.js +50 -0
  245. package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -0
  246. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts +14 -0
  247. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -0
  248. package/dist/engine/renderers/Indicator/shared/titleInfo.js +25 -0
  249. package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -0
  250. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +5 -0
  251. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -0
  252. package/dist/engine/renderers/Indicator/shared/webglBand.js +17 -0
  253. package/dist/engine/renderers/Indicator/shared/webglBand.js.map +1 -0
  254. package/dist/engine/renderers/Indicator/stoch.d.ts +1 -22
  255. package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
  256. package/dist/engine/renderers/Indicator/stoch.js +5 -46
  257. package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
  258. package/dist/engine/renderers/Indicator/structure.d.ts +1 -7
  259. package/dist/engine/renderers/Indicator/structure.d.ts.map +1 -1
  260. package/dist/engine/renderers/Indicator/structure.js +2 -2
  261. package/dist/engine/renderers/Indicator/structure.js.map +1 -1
  262. package/dist/engine/renderers/Indicator/supertrend.d.ts +1 -8
  263. package/dist/engine/renderers/Indicator/supertrend.d.ts.map +1 -1
  264. package/dist/engine/renderers/Indicator/supertrend.js +2 -2
  265. package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
  266. package/dist/engine/renderers/Indicator/tema.d.ts +1 -7
  267. package/dist/engine/renderers/Indicator/tema.d.ts.map +1 -1
  268. package/dist/engine/renderers/Indicator/tema.js +3 -17
  269. package/dist/engine/renderers/Indicator/tema.js.map +1 -1
  270. package/dist/engine/renderers/Indicator/trix.d.ts +1 -8
  271. package/dist/engine/renderers/Indicator/trix.d.ts.map +1 -1
  272. package/dist/engine/renderers/Indicator/trix.js +2 -2
  273. package/dist/engine/renderers/Indicator/trix.js.map +1 -1
  274. package/dist/engine/renderers/Indicator/vma.d.ts +1 -7
  275. package/dist/engine/renderers/Indicator/vma.d.ts.map +1 -1
  276. package/dist/engine/renderers/Indicator/vma.js +3 -15
  277. package/dist/engine/renderers/Indicator/vma.js.map +1 -1
  278. package/dist/engine/renderers/Indicator/volumeProfile.d.ts +1 -7
  279. package/dist/engine/renderers/Indicator/volumeProfile.d.ts.map +1 -1
  280. package/dist/engine/renderers/Indicator/volumeProfile.js +2 -2
  281. package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
  282. package/dist/engine/renderers/Indicator/vwap.d.ts +1 -7
  283. package/dist/engine/renderers/Indicator/vwap.d.ts.map +1 -1
  284. package/dist/engine/renderers/Indicator/vwap.js +3 -14
  285. package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
  286. package/dist/engine/renderers/Indicator/wma.d.ts +1 -7
  287. package/dist/engine/renderers/Indicator/wma.d.ts.map +1 -1
  288. package/dist/engine/renderers/Indicator/wma.js +3 -17
  289. package/dist/engine/renderers/Indicator/wma.js.map +1 -1
  290. package/dist/engine/renderers/Indicator/wmsr.d.ts +1 -22
  291. package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
  292. package/dist/engine/renderers/Indicator/wmsr.js +8 -23
  293. package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
  294. package/dist/engine/renderers/Indicator/zones.d.ts +1 -6
  295. package/dist/engine/renderers/Indicator/zones.d.ts.map +1 -1
  296. package/dist/engine/renderers/Indicator/zones.js +2 -2
  297. package/dist/engine/renderers/Indicator/zones.js.map +1 -1
  298. package/dist/engine/renderers/candle.d.ts +0 -16
  299. package/dist/engine/renderers/candle.d.ts.map +1 -1
  300. package/dist/engine/renderers/candle.js +1 -1
  301. package/dist/engine/renderers/candle.js.map +1 -1
  302. package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
  303. package/dist/engine/renderers/comparisonLine.js +2 -0
  304. package/dist/engine/renderers/comparisonLine.js.map +1 -1
  305. package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
  306. package/dist/engine/renderers/extremaMarkers.js +2 -0
  307. package/dist/engine/renderers/extremaMarkers.js.map +1 -1
  308. package/dist/engine/renderers/gridLines.d.ts.map +1 -1
  309. package/dist/engine/renderers/gridLines.js +7 -35
  310. package/dist/engine/renderers/gridLines.js.map +1 -1
  311. package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
  312. package/dist/engine/renderers/lastPrice.js +7 -2
  313. package/dist/engine/renderers/lastPrice.js.map +1 -1
  314. package/dist/engine/renderers/leftYAxis.d.ts +11 -0
  315. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -0
  316. package/dist/engine/renderers/leftYAxis.js +79 -0
  317. package/dist/engine/renderers/leftYAxis.js.map +1 -0
  318. package/dist/engine/renderers/subVolume.d.ts +1 -13
  319. package/dist/engine/renderers/subVolume.d.ts.map +1 -1
  320. package/dist/engine/renderers/subVolume.js +1 -1
  321. package/dist/engine/renderers/subVolume.js.map +1 -1
  322. package/dist/engine/renderers/timeAxis.d.ts +0 -2
  323. package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
  324. package/dist/engine/renderers/timeAxis.js +4 -1
  325. package/dist/engine/renderers/timeAxis.js.map +1 -1
  326. package/dist/engine/renderers/timeShare.d.ts +3 -0
  327. package/dist/engine/renderers/timeShare.d.ts.map +1 -0
  328. package/dist/engine/renderers/timeShare.js +260 -0
  329. package/dist/engine/renderers/timeShare.js.map +1 -0
  330. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  331. package/dist/engine/renderers/yAxis.js +25 -23
  332. package/dist/engine/renderers/yAxis.js.map +1 -1
  333. package/dist/engine/scale/price.d.ts +0 -7
  334. package/dist/engine/scale/price.d.ts.map +1 -1
  335. package/dist/engine/scale/price.js +3 -2
  336. package/dist/engine/scale/price.js.map +1 -1
  337. package/dist/engine/theme/fonts.d.ts +0 -2
  338. package/dist/engine/theme/fonts.d.ts.map +1 -1
  339. package/dist/engine/theme/fonts.js +1 -1
  340. package/dist/engine/theme/fonts.js.map +1 -1
  341. package/dist/engine/utils/klineConfig.d.ts.map +1 -1
  342. package/dist/engine/utils/klineConfig.js +1 -5
  343. package/dist/engine/utils/klineConfig.js.map +1 -1
  344. package/dist/engine/utils/tickPosition.d.ts +12 -0
  345. package/dist/engine/utils/tickPosition.d.ts.map +1 -1
  346. package/dist/engine/utils/tickPosition.js +15 -0
  347. package/dist/engine/utils/tickPosition.js.map +1 -1
  348. package/dist/engine/viewport/chartViewportManager.d.ts +0 -4
  349. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  350. package/dist/engine/viewport/chartViewportManager.js +10 -13
  351. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  352. package/dist/plugin/types.d.ts +10 -0
  353. package/dist/plugin/types.d.ts.map +1 -1
  354. package/dist/plugin/types.js.map +1 -1
  355. package/dist/semantic/types.d.ts +1 -1
  356. package/dist/semantic/types.d.ts.map +1 -1
  357. package/dist/tokens/theme-base.d.ts +5 -0
  358. package/dist/tokens/theme-base.d.ts.map +1 -0
  359. package/dist/tokens/theme-base.js +31 -0
  360. package/dist/tokens/theme-base.js.map +1 -0
  361. package/dist/tokens/theme-china.d.ts.map +1 -1
  362. package/dist/tokens/theme-china.js +3 -0
  363. package/dist/tokens/theme-china.js.map +1 -1
  364. package/dist/tokens/theme-dark.d.ts.map +1 -1
  365. package/dist/tokens/theme-dark.js +11 -30
  366. package/dist/tokens/theme-dark.js.map +1 -1
  367. package/dist/tokens/theme-light.d.ts.map +1 -1
  368. package/dist/tokens/theme-light.js +11 -30
  369. package/dist/tokens/theme-light.js.map +1 -1
  370. package/dist/tokens/types.d.ts +7 -0
  371. package/dist/tokens/types.d.ts.map +1 -1
  372. package/dist/types/price.d.ts +8 -0
  373. package/dist/types/price.d.ts.map +1 -1
  374. package/dist/types/price.js +4 -0
  375. package/dist/types/price.js.map +1 -1
  376. package/dist/utils/dateFormat.d.ts +5 -42
  377. package/dist/utils/dateFormat.d.ts.map +1 -1
  378. package/dist/utils/dateFormat.js +24 -4
  379. package/dist/utils/dateFormat.js.map +1 -1
  380. package/dist/utils/kLineDraw/axis.d.ts +9 -28
  381. package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
  382. package/dist/utils/kLineDraw/axis.js +33 -58
  383. package/dist/utils/kLineDraw/axis.js.map +1 -1
  384. package/dist/utils/volumePrice.d.ts +0 -40
  385. package/dist/utils/volumePrice.d.ts.map +1 -1
  386. package/dist/utils/volumePrice.js +2 -2
  387. package/dist/utils/volumePrice.js.map +1 -1
  388. package/dist/version.d.ts +1 -1
  389. package/dist/version.js +1 -1
  390. package/package.json +1 -1
  391. package/src/config/chartSettings.ts +8 -1
  392. package/src/controllers/createChartController.ts +59 -2
  393. package/src/controllers/types.ts +38 -17
  394. package/src/data-fetchers/__tests__/dataBuffer.test.ts +39 -5
  395. package/src/data-fetchers/baostock.ts +1 -1
  396. package/src/data-fetchers/dataBuffer.ts +48 -11
  397. package/src/data-fetchers/dataBufferTypes.ts +11 -0
  398. package/src/data-fetchers/fetcherDefinitionRegistry.ts +14 -4
  399. package/src/data-fetchers/gotdx/gotdx.ts +6 -0
  400. package/src/data-fetchers/gotdx.ts +45 -7
  401. package/src/data-fetchers/hundred-mock.ts +1 -1
  402. package/src/data-fetchers/index.ts +10 -20
  403. package/src/data-fetchers/router.ts +12 -1
  404. package/src/data-fetchers/thousand-mock.ts +1 -1
  405. package/src/data-fetchers/timeShareBuffer.ts +92 -0
  406. package/src/data-fetchers/tradingview.ts +2 -2
  407. package/src/data-fetchers/types.ts +15 -2
  408. package/src/engine/__tests__/chart.dpr.test.ts +1 -0
  409. package/src/engine/chart.ts +167 -9
  410. package/src/engine/chartTypes.ts +3 -0
  411. package/src/engine/controller/__tests__/interaction.dpr.test.ts +2 -0
  412. package/src/engine/controller/interaction.ts +80 -28
  413. package/src/engine/data/chartDataManager.ts +560 -229
  414. package/src/engine/draw/pixelAlign.ts +1 -1
  415. package/src/engine/indicators/__tests__/_propertyAssertions.ts +2 -2
  416. package/src/engine/indicators/__tests__/registerBuiltins.test.ts +1 -1
  417. package/src/engine/indicators/calculators.ts +83 -233
  418. package/src/engine/indicators/chartIndicatorManager.ts +3 -2
  419. package/src/engine/indicators/macdState.ts +1 -1
  420. package/src/engine/indicators/registerBuiltins.ts +1 -0
  421. package/src/engine/indicators/rsiState.ts +1 -1
  422. package/src/engine/indicators/scheduler.ts +1 -7
  423. package/src/engine/layout/chartPaneLayout.ts +26 -6
  424. package/src/engine/modes/kLineMode.ts +57 -0
  425. package/src/engine/modes/timeShareMode.ts +95 -0
  426. package/src/engine/modes/types.ts +63 -0
  427. package/src/engine/paneRenderer.ts +37 -46
  428. package/src/engine/render/chartRenderer.ts +120 -22
  429. package/src/engine/renderers/Indicator/atr.ts +4 -29
  430. package/src/engine/renderers/Indicator/boll.ts +3 -24
  431. package/src/engine/renderers/Indicator/cci.ts +9 -27
  432. package/src/engine/renderers/Indicator/chaikinVol.ts +3 -23
  433. package/src/engine/renderers/Indicator/cmf.ts +3 -22
  434. package/src/engine/renderers/Indicator/dema.ts +5 -26
  435. package/src/engine/renderers/Indicator/donchian.ts +3 -3
  436. package/src/engine/renderers/Indicator/ene.ts +3 -24
  437. package/src/engine/renderers/Indicator/expma.ts +2 -2
  438. package/src/engine/renderers/Indicator/fastk.ts +12 -95
  439. package/src/engine/renderers/Indicator/fib.ts +2 -2
  440. package/src/engine/renderers/Indicator/hma.ts +5 -26
  441. package/src/engine/renderers/Indicator/hv.ts +3 -23
  442. package/src/engine/renderers/Indicator/ichimoku.ts +3 -3
  443. package/src/engine/renderers/Indicator/kama.ts +5 -26
  444. package/src/engine/renderers/Indicator/keltner.ts +3 -3
  445. package/src/engine/renderers/Indicator/kst.ts +3 -3
  446. package/src/engine/renderers/Indicator/ma.ts +1 -1
  447. package/src/engine/renderers/Indicator/macd.ts +4 -21
  448. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +127 -2
  449. package/src/engine/renderers/Indicator/mfi.ts +3 -22
  450. package/src/engine/renderers/Indicator/mom.ts +9 -30
  451. package/src/engine/renderers/Indicator/obv.ts +3 -21
  452. package/src/engine/renderers/Indicator/parkinson.ts +3 -23
  453. package/src/engine/renderers/Indicator/pivot.ts +2 -2
  454. package/src/engine/renderers/Indicator/pvt.ts +3 -21
  455. package/src/engine/renderers/Indicator/roc.ts +4 -23
  456. package/src/engine/renderers/Indicator/rsi.ts +4 -4
  457. package/src/engine/renderers/Indicator/sar.ts +3 -3
  458. package/src/engine/renderers/Indicator/scale/indicator_scale.ts +11 -4
  459. package/src/engine/renderers/Indicator/shared/dashedLines.ts +81 -0
  460. package/src/engine/renderers/Indicator/shared/titleInfo.ts +52 -0
  461. package/src/engine/renderers/Indicator/shared/webglBand.ts +23 -0
  462. package/src/engine/renderers/Indicator/stoch.ts +6 -71
  463. package/src/engine/renderers/Indicator/structure.ts +2 -2
  464. package/src/engine/renderers/Indicator/supertrend.ts +3 -3
  465. package/src/engine/renderers/Indicator/tema.ts +5 -26
  466. package/src/engine/renderers/Indicator/trix.ts +3 -3
  467. package/src/engine/renderers/Indicator/vma.ts +3 -22
  468. package/src/engine/renderers/Indicator/volumeProfile.ts +2 -2
  469. package/src/engine/renderers/Indicator/vwap.ts +3 -21
  470. package/src/engine/renderers/Indicator/wma.ts +5 -26
  471. package/src/engine/renderers/Indicator/wmsr.ts +9 -30
  472. package/src/engine/renderers/Indicator/zones.ts +2 -2
  473. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +30 -26
  474. package/src/engine/renderers/candle.ts +1 -1
  475. package/src/engine/renderers/comparisonLine.ts +1 -0
  476. package/src/engine/renderers/extremaMarkers.ts +1 -0
  477. package/src/engine/renderers/gridLines.ts +7 -36
  478. package/src/engine/renderers/lastPrice.ts +5 -2
  479. package/src/engine/renderers/leftYAxis.ts +93 -0
  480. package/src/engine/renderers/subVolume.ts +3 -3
  481. package/src/engine/renderers/timeAxis.ts +16 -13
  482. package/src/engine/renderers/timeShare.ts +271 -0
  483. package/src/engine/renderers/yAxis.ts +28 -24
  484. package/src/engine/scale/price.ts +2 -2
  485. package/src/engine/theme/fonts.ts +1 -1
  486. package/src/engine/utils/klineConfig.ts +1 -5
  487. package/src/engine/utils/tickPosition.ts +34 -0
  488. package/src/engine/viewport/chartViewportManager.ts +11 -15
  489. package/src/plugin/types.ts +11 -0
  490. package/src/semantic/types.ts +1 -1
  491. package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +14 -0
  492. package/src/tokens/theme-base.ts +36 -0
  493. package/src/tokens/theme-china.ts +4 -0
  494. package/src/tokens/theme-dark.ts +12 -32
  495. package/src/tokens/theme-light.ts +13 -33
  496. package/src/tokens/types.ts +9 -0
  497. package/src/types/price.ts +13 -0
  498. package/src/utils/dateFormat.ts +27 -4
  499. package/src/utils/kLineDraw/axis.ts +40 -107
  500. package/src/utils/volumePrice.ts +2 -2
  501. package/src/version.ts +1 -1
@@ -279,7 +279,7 @@ export function calcMAData(data: KLineData[], period: number): (number | undefin
279
279
  export const DEFAULT_RSI_PERIOD1 = 6
280
280
  export const DEFAULT_RSI_PERIOD2 = 12
281
281
  export const DEFAULT_RSI_PERIOD3 = 24
282
- export const DEFAULT_RSI_PERIODS = [6, 12, 24] as const
282
+ const DEFAULT_RSI_PERIODS = [6, 12, 24] as const
283
283
 
284
284
  /**
285
285
  * 计算 RSI 数据
@@ -351,7 +351,7 @@ export function calcRSIData(data: KLineData[], period: number): (number | undefi
351
351
  // CCI 顺势指标
352
352
  // ============================================================================
353
353
 
354
- export const DEFAULT_CCI_PERIOD = 14
354
+ const DEFAULT_CCI_PERIOD = 14
355
355
 
356
356
  export function calcCCIData(data: KLineData[], period: number): (number | undefined)[] {
357
357
  const result: (number | undefined)[] = new Array(data.length)
@@ -397,8 +397,8 @@ export function calcCCIData(data: KLineData[], period: number): (number | undefi
397
397
  // STOCH 随机指标
398
398
  // ============================================================================
399
399
 
400
- export const DEFAULT_STOCH_N = 9
401
- export const DEFAULT_STOCH_M = 3
400
+ const DEFAULT_STOCH_N = 9
401
+ const DEFAULT_STOCH_M = 3
402
402
 
403
403
  export interface STOCHPoint {
404
404
  k: number
@@ -459,7 +459,7 @@ export function calcSTOCHData(data: KLineData[], n: number, m: number): STOCHPoi
459
459
  // MOM 动量指标
460
460
  // ============================================================================
461
461
 
462
- export const DEFAULT_MOM_PERIOD = 10
462
+ const DEFAULT_MOM_PERIOD = 10
463
463
 
464
464
  export function calcMOMData(data: KLineData[], period: number): (number | undefined)[] {
465
465
  const result: (number | undefined)[] = new Array(data.length)
@@ -482,7 +482,7 @@ export function calcMOMData(data: KLineData[], period: number): (number | undefi
482
482
  // WMSR 威廉指标
483
483
  // ============================================================================
484
484
 
485
- export const DEFAULT_WMSR_PERIOD = 14
485
+ const DEFAULT_WMSR_PERIOD = 14
486
486
 
487
487
  export function calcWMSRData(data: KLineData[], period: number): (number | undefined)[] {
488
488
  const result: (number | undefined)[] = new Array(data.length)
@@ -515,11 +515,11 @@ export function calcWMSRData(data: KLineData[], period: number): (number | undef
515
515
  // KST 确知指标
516
516
  // ============================================================================
517
517
 
518
- export const DEFAULT_KST_ROC1 = 10
519
- export const DEFAULT_KST_ROC2 = 15
520
- export const DEFAULT_KST_ROC3 = 20
521
- export const DEFAULT_KST_ROC4 = 30
522
- export const DEFAULT_KST_SIGNAL = 9
518
+ const DEFAULT_KST_ROC1 = 10
519
+ const DEFAULT_KST_ROC2 = 15
520
+ const DEFAULT_KST_ROC3 = 20
521
+ const DEFAULT_KST_ROC4 = 30
522
+ const DEFAULT_KST_SIGNAL = 9
523
523
 
524
524
  export interface KSTPoint {
525
525
  kst: number
@@ -624,7 +624,7 @@ export function calcKSTData(
624
624
  // FASTK 快速随机指标
625
625
  // ============================================================================
626
626
 
627
- export const DEFAULT_FASTK_PERIOD = 9
627
+ const DEFAULT_FASTK_PERIOD = 9
628
628
 
629
629
  export function calcFASTKData(data: KLineData[], period: number): (number | undefined)[] {
630
630
  const result: (number | undefined)[] = new Array(data.length)
@@ -672,9 +672,9 @@ export interface MACDPoint {
672
672
  /**
673
673
  * 默认 MACD 参数
674
674
  */
675
- export const DEFAULT_MACD_FAST_PERIOD = 12
676
- export const DEFAULT_MACD_SLOW_PERIOD = 26
677
- export const DEFAULT_MACD_SIGNAL_PERIOD = 9
675
+ const DEFAULT_MACD_FAST_PERIOD = 12
676
+ const DEFAULT_MACD_SLOW_PERIOD = 26
677
+ const DEFAULT_MACD_SIGNAL_PERIOD = 9
678
678
 
679
679
  /**
680
680
  * 计算 EMA(指数移动平均)值
@@ -684,7 +684,7 @@ export const DEFAULT_MACD_SIGNAL_PERIOD = 9
684
684
  * @param period 周期
685
685
  * @returns EMA 值数组,第一个值使用第一个收盘价
686
686
  */
687
- export function calcEMA(data: KLineData[], period: number): number[] {
687
+ function calcEMA(data: KLineData[], period: number): number[] {
688
688
  const result: number[] = new Array(data.length)
689
689
  const k = 2 / (period + 1)
690
690
 
@@ -708,7 +708,7 @@ export function calcEMA(data: KLineData[], period: number): number[] {
708
708
  * @param period 周期
709
709
  * @returns EMA 值数组
710
710
  */
711
- export function calcEMAFromArray(values: (number | undefined)[], period: number): (number | undefined)[] {
711
+ function calcEMAFromArray(values: (number | undefined)[], period: number): (number | undefined)[] {
712
712
  const result: (number | undefined)[] = new Array(values.length)
713
713
  const k = 2 / (period + 1)
714
714
 
@@ -981,7 +981,7 @@ export function calcMACDDataSoA(
981
981
  // ATR — Wilder's Average True Range
982
982
  // ============================================================================
983
983
 
984
- export const DEFAULT_ATR_PERIOD = 14
984
+ const DEFAULT_ATR_PERIOD = 14
985
985
 
986
986
  /**
987
987
  * 计算 Wilder ATR。
@@ -1050,16 +1050,6 @@ export function calcATRData(data: KLineData[], period: number): (number | undefi
1050
1050
  return result
1051
1051
  }
1052
1052
 
1053
- /**
1054
- * 从 SoA 布局计算 ATR(包装函数,对齐其他指标的 SoA 入口)
1055
- */
1056
- export function calcATRDataSoA(
1057
- layout: KLineSoALayout,
1058
- period: number,
1059
- ): (number | undefined)[] {
1060
- const data = SharedKLineBuffer.toKLineData(layout)
1061
- return calcATRData(data, period)
1062
- }
1063
1053
 
1064
1054
  // ============================================================================
1065
1055
  // WMA — Weighted Moving Average (linear weights)
@@ -1067,7 +1057,7 @@ export function calcATRDataSoA(
1067
1057
  // 滞后 = (period-1)/3 (相比 SMA 更快响应)
1068
1058
  // ============================================================================
1069
1059
 
1070
- export const DEFAULT_WMA_PERIOD = 9
1060
+ const DEFAULT_WMA_PERIOD = 9
1071
1061
 
1072
1062
  function _computeWMAOnNumbers(values: (number | undefined)[], period: number): (number | undefined)[] {
1073
1063
  const n = values.length
@@ -1101,10 +1091,7 @@ export function calcWMAData(data: KLineData[], period: number): (number | undefi
1101
1091
  return _computeWMAOnNumbers(closes, period)
1102
1092
  }
1103
1093
 
1104
- export function calcWMADataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1105
- const data = SharedKLineBuffer.toKLineData(layout)
1106
- return calcWMAData(data, period)
1107
- }
1094
+
1108
1095
 
1109
1096
  // ============================================================================
1110
1097
  // EMA helper(DEMA / TEMA 复用,沿用 EXPMA 的 first-close seed 习惯)
@@ -1139,7 +1126,7 @@ function _computeEMASeries(values: (number | undefined)[], period: number): (num
1139
1126
  // 性质: 对线性输入零滞后(稳态),warmup ~ 2*(period-1)
1140
1127
  // ============================================================================
1141
1128
 
1142
- export const DEFAULT_DEMA_PERIOD = 20
1129
+ const DEFAULT_DEMA_PERIOD = 20
1143
1130
 
1144
1131
  export function calcDEMAData(data: KLineData[], period: number): (number | undefined)[] {
1145
1132
  const n = data.length
@@ -1161,10 +1148,7 @@ export function calcDEMAData(data: KLineData[], period: number): (number | undef
1161
1148
  return result
1162
1149
  }
1163
1150
 
1164
- export function calcDEMADataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1165
- const data = SharedKLineBuffer.toKLineData(layout)
1166
- return calcDEMAData(data, period)
1167
- }
1151
+
1168
1152
 
1169
1153
  // ============================================================================
1170
1154
  // TEMA — Triple Exponential Moving Average
@@ -1172,7 +1156,7 @@ export function calcDEMADataSoA(layout: KLineSoALayout, period: number): (number
1172
1156
  // 性质: 对二次多项式输入零滞后(稳态),warmup ~ 3*(period-1)
1173
1157
  // ============================================================================
1174
1158
 
1175
- export const DEFAULT_TEMA_PERIOD = 20
1159
+ const DEFAULT_TEMA_PERIOD = 20
1176
1160
 
1177
1161
  export function calcTEMAData(data: KLineData[], period: number): (number | undefined)[] {
1178
1162
  const n = data.length
@@ -1196,10 +1180,7 @@ export function calcTEMAData(data: KLineData[], period: number): (number | undef
1196
1180
  return result
1197
1181
  }
1198
1182
 
1199
- export function calcTEMADataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1200
- const data = SharedKLineBuffer.toKLineData(layout)
1201
- return calcTEMAData(data, period)
1202
- }
1183
+
1203
1184
 
1204
1185
  // ============================================================================
1205
1186
  // HMA — Hull Moving Average
@@ -1208,7 +1189,7 @@ export function calcTEMADataSoA(layout: KLineSoALayout, period: number): (number
1208
1189
  // warmup ≈ period - 1 + round(sqrt(period)) - 1
1209
1190
  // ============================================================================
1210
1191
 
1211
- export const DEFAULT_HMA_PERIOD = 9
1192
+ const DEFAULT_HMA_PERIOD = 9
1212
1193
 
1213
1194
  export function calcHMAData(data: KLineData[], period: number): (number | undefined)[] {
1214
1195
  const n = data.length
@@ -1234,10 +1215,7 @@ export function calcHMAData(data: KLineData[], period: number): (number | undefi
1234
1215
  return _computeWMAOnNumbers(raw, sqrtPeriod)
1235
1216
  }
1236
1217
 
1237
- export function calcHMADataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1238
- const data = SharedKLineBuffer.toKLineData(layout)
1239
- return calcHMAData(data, period)
1240
- }
1218
+
1241
1219
 
1242
1220
  // ============================================================================
1243
1221
  // KAMA — Kaufman's Adaptive Moving Average
@@ -1248,9 +1226,9 @@ export function calcHMADataSoA(layout: KLineSoALayout, period: number): (number
1248
1226
  // 种子 KAMA(n-1) = close[n-1](或 SMA(n);这里采用 close 种子以保持与项目内 EMA 系列一致)
1249
1227
  // ============================================================================
1250
1228
 
1251
- export const DEFAULT_KAMA_PERIOD = 10
1252
- export const DEFAULT_KAMA_FAST_PERIOD = 2
1253
- export const DEFAULT_KAMA_SLOW_PERIOD = 30
1229
+ const DEFAULT_KAMA_PERIOD = 10
1230
+ const DEFAULT_KAMA_FAST_PERIOD = 2
1231
+ const DEFAULT_KAMA_SLOW_PERIOD = 30
1254
1232
 
1255
1233
  export function calcKAMAData(
1256
1234
  data: KLineData[],
@@ -1296,15 +1274,7 @@ export function calcKAMAData(
1296
1274
  return result
1297
1275
  }
1298
1276
 
1299
- export function calcKAMADataSoA(
1300
- layout: KLineSoALayout,
1301
- period: number,
1302
- fastPeriod: number,
1303
- slowPeriod: number,
1304
- ): (number | undefined)[] {
1305
- const data = SharedKLineBuffer.toKLineData(layout)
1306
- return calcKAMAData(data, period, fastPeriod, slowPeriod)
1307
- }
1277
+
1308
1278
 
1309
1279
  // ============================================================================
1310
1280
  // SAR — Parabolic Stop and Reverse
@@ -1319,8 +1289,8 @@ export interface SARPoint {
1319
1289
  trend: 'up' | 'down'
1320
1290
  }
1321
1291
 
1322
- export const DEFAULT_SAR_STEP = 0.02
1323
- export const DEFAULT_SAR_MAX_STEP = 0.2
1292
+ const DEFAULT_SAR_STEP = 0.02
1293
+ const DEFAULT_SAR_MAX_STEP = 0.2
1324
1294
 
1325
1295
  export function calcSARData(
1326
1296
  data: KLineData[],
@@ -1382,14 +1352,7 @@ export function calcSARData(
1382
1352
  return result
1383
1353
  }
1384
1354
 
1385
- export function calcSARDataSoA(
1386
- layout: KLineSoALayout,
1387
- step: number,
1388
- maxStep: number,
1389
- ): (SARPoint | undefined)[] {
1390
- const data = SharedKLineBuffer.toKLineData(layout)
1391
- return calcSARData(data, step, maxStep)
1392
- }
1355
+
1393
1356
 
1394
1357
  // ============================================================================
1395
1358
  // SuperTrend — ATR-based trend-following stop/band
@@ -1400,8 +1363,8 @@ export interface SuperTrendPoint {
1400
1363
  trend: 'up' | 'down'
1401
1364
  }
1402
1365
 
1403
- export const DEFAULT_SUPERTREND_ATR_PERIOD = 10
1404
- export const DEFAULT_SUPERTREND_MULTIPLIER = 3
1366
+ const DEFAULT_SUPERTREND_ATR_PERIOD = 10
1367
+ const DEFAULT_SUPERTREND_MULTIPLIER = 3
1405
1368
 
1406
1369
  export function calcSuperTrendData(
1407
1370
  data: KLineData[],
@@ -1448,14 +1411,7 @@ export function calcSuperTrendData(
1448
1411
  return result
1449
1412
  }
1450
1413
 
1451
- export function calcSuperTrendDataSoA(
1452
- layout: KLineSoALayout,
1453
- atrPeriod: number,
1454
- multiplier: number,
1455
- ): (SuperTrendPoint | undefined)[] {
1456
- const data = SharedKLineBuffer.toKLineData(layout)
1457
- return calcSuperTrendData(data, atrPeriod, multiplier)
1458
- }
1414
+
1459
1415
 
1460
1416
  // ============================================================================
1461
1417
  // Keltner Channel — EMA ± multiplier × ATR
@@ -1467,9 +1423,9 @@ export interface KeltnerPoint {
1467
1423
  lower: number
1468
1424
  }
1469
1425
 
1470
- export const DEFAULT_KELTNER_EMA_PERIOD = 20
1471
- export const DEFAULT_KELTNER_ATR_PERIOD = 10
1472
- export const DEFAULT_KELTNER_MULTIPLIER = 2
1426
+ const DEFAULT_KELTNER_EMA_PERIOD = 20
1427
+ const DEFAULT_KELTNER_ATR_PERIOD = 10
1428
+ const DEFAULT_KELTNER_MULTIPLIER = 2
1473
1429
 
1474
1430
  export function calcKeltnerData(
1475
1431
  data: KLineData[],
@@ -1500,15 +1456,7 @@ export function calcKeltnerData(
1500
1456
  return result
1501
1457
  }
1502
1458
 
1503
- export function calcKeltnerDataSoA(
1504
- layout: KLineSoALayout,
1505
- emaPeriod: number,
1506
- atrPeriod: number,
1507
- multiplier: number,
1508
- ): (KeltnerPoint | undefined)[] {
1509
- const data = SharedKLineBuffer.toKLineData(layout)
1510
- return calcKeltnerData(data, emaPeriod, atrPeriod, multiplier)
1511
- }
1459
+
1512
1460
 
1513
1461
  // ============================================================================
1514
1462
  // Donchian Channel — rolling max(high) / min(low) over period
@@ -1520,7 +1468,7 @@ export interface DonchianPoint {
1520
1468
  lower: number
1521
1469
  }
1522
1470
 
1523
- export const DEFAULT_DONCHIAN_PERIOD = 20
1471
+ const DEFAULT_DONCHIAN_PERIOD = 20
1524
1472
 
1525
1473
  export function calcDonchianData(
1526
1474
  data: KLineData[],
@@ -1543,13 +1491,7 @@ export function calcDonchianData(
1543
1491
  return result
1544
1492
  }
1545
1493
 
1546
- export function calcDonchianDataSoA(
1547
- layout: KLineSoALayout,
1548
- period: number,
1549
- ): (DonchianPoint | undefined)[] {
1550
- const data = SharedKLineBuffer.toKLineData(layout)
1551
- return calcDonchianData(data, period)
1552
- }
1494
+
1553
1495
 
1554
1496
  // ============================================================================
1555
1497
  // Ichimoku Kinko Hyo — 一目均衡表
@@ -1570,10 +1512,10 @@ export interface IchimokuPoint {
1570
1512
  chikou?: number
1571
1513
  }
1572
1514
 
1573
- export const DEFAULT_ICHIMOKU_TENKAN = 9
1574
- export const DEFAULT_ICHIMOKU_KIJUN = 26
1575
- export const DEFAULT_ICHIMOKU_SPAN_B = 52
1576
- export const DEFAULT_ICHIMOKU_DISPLACEMENT = 26
1515
+ const DEFAULT_ICHIMOKU_TENKAN = 9
1516
+ const DEFAULT_ICHIMOKU_KIJUN = 26
1517
+ const DEFAULT_ICHIMOKU_SPAN_B = 52
1518
+ const DEFAULT_ICHIMOKU_DISPLACEMENT = 26
1577
1519
 
1578
1520
  function _rollingMidline(data: KLineData[], period: number): (number | undefined)[] {
1579
1521
  const n = data.length
@@ -1653,23 +1595,14 @@ export function calcIchimokuData(
1653
1595
  return result
1654
1596
  }
1655
1597
 
1656
- export function calcIchimokuDataSoA(
1657
- layout: KLineSoALayout,
1658
- tenkanPeriod: number,
1659
- kijunPeriod: number,
1660
- spanBPeriod: number,
1661
- displacement: number,
1662
- ): (IchimokuPoint | undefined)[] {
1663
- const data = SharedKLineBuffer.toKLineData(layout)
1664
- return calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, displacement)
1665
- }
1598
+
1666
1599
 
1667
1600
  // ============================================================================
1668
1601
  // ROC — Rate of Change
1669
1602
  // ROC(t) = (close[t] - close[t-period]) / close[t-period] * 100
1670
1603
  // ============================================================================
1671
1604
 
1672
- export const DEFAULT_ROC_PERIOD = 12
1605
+ const DEFAULT_ROC_PERIOD = 12
1673
1606
 
1674
1607
  export function calcROCData(data: KLineData[], period: number): (number | undefined)[] {
1675
1608
  const n = data.length
@@ -1683,10 +1616,7 @@ export function calcROCData(data: KLineData[], period: number): (number | undefi
1683
1616
  return result
1684
1617
  }
1685
1618
 
1686
- export function calcROCDataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1687
- const data = SharedKLineBuffer.toKLineData(layout)
1688
- return calcROCData(data, period)
1689
- }
1619
+
1690
1620
 
1691
1621
  // ============================================================================
1692
1622
  // TRIX — Triple Exponential Smoothing Oscillator
@@ -1700,8 +1630,8 @@ export interface TRIXResult {
1700
1630
  signalSeries: (number | undefined)[]
1701
1631
  }
1702
1632
 
1703
- export const DEFAULT_TRIX_PERIOD = 15
1704
- export const DEFAULT_TRIX_SIGNAL_PERIOD = 9
1633
+ const DEFAULT_TRIX_PERIOD = 15
1634
+ const DEFAULT_TRIX_SIGNAL_PERIOD = 9
1705
1635
 
1706
1636
  export function calcTRIXData(
1707
1637
  data: KLineData[],
@@ -1735,14 +1665,7 @@ export function calcTRIXData(
1735
1665
  return { series, signalSeries }
1736
1666
  }
1737
1667
 
1738
- export function calcTRIXDataSoA(
1739
- layout: KLineSoALayout,
1740
- period: number,
1741
- signalPeriod: number,
1742
- ): TRIXResult {
1743
- const data = SharedKLineBuffer.toKLineData(layout)
1744
- return calcTRIXData(data, period, signalPeriod)
1745
- }
1668
+
1746
1669
 
1747
1670
  // ============================================================================
1748
1671
  // HV — Historical Volatility (close-to-close log returns)
@@ -1750,8 +1673,8 @@ export function calcTRIXDataSoA(
1750
1673
  // 输出年化波动率(百分比形式 × 100)
1751
1674
  // ============================================================================
1752
1675
 
1753
- export const DEFAULT_HV_PERIOD = 20
1754
- export const DEFAULT_HV_ANNUALIZATION = 252
1676
+ const DEFAULT_HV_PERIOD = 20
1677
+ const DEFAULT_HV_ANNUALIZATION = 252
1755
1678
 
1756
1679
  export function calcHVData(
1757
1680
  data: KLineData[],
@@ -1787,22 +1710,15 @@ export function calcHVData(
1787
1710
  return result
1788
1711
  }
1789
1712
 
1790
- export function calcHVDataSoA(
1791
- layout: KLineSoALayout,
1792
- period: number,
1793
- annualizationFactor: number,
1794
- ): (number | undefined)[] {
1795
- const data = SharedKLineBuffer.toKLineData(layout)
1796
- return calcHVData(data, period, annualizationFactor)
1797
- }
1713
+
1798
1714
 
1799
1715
  // ============================================================================
1800
1716
  // Parkinson Volatility — high-low range volatility
1801
1717
  // PV(t) = sqrt( (1/(4*ln(2))) * mean(ln(high[i]/low[i])^2) * annualization ) * 100
1802
1718
  // ============================================================================
1803
1719
 
1804
- export const DEFAULT_PARKINSON_PERIOD = 20
1805
- export const DEFAULT_PARKINSON_ANNUALIZATION = 252
1720
+ const DEFAULT_PARKINSON_PERIOD = 20
1721
+ const DEFAULT_PARKINSON_ANNUALIZATION = 252
1806
1722
 
1807
1723
  export function calcParkinsonData(
1808
1724
  data: KLineData[],
@@ -1837,22 +1753,15 @@ export function calcParkinsonData(
1837
1753
  return result
1838
1754
  }
1839
1755
 
1840
- export function calcParkinsonDataSoA(
1841
- layout: KLineSoALayout,
1842
- period: number,
1843
- annualizationFactor: number,
1844
- ): (number | undefined)[] {
1845
- const data = SharedKLineBuffer.toKLineData(layout)
1846
- return calcParkinsonData(data, period, annualizationFactor)
1847
- }
1756
+
1848
1757
 
1849
1758
  // ============================================================================
1850
1759
  // Chaikin Volatility — EMA(high-low) 的 ROC
1851
1760
  // ChaikinVol(t) = (EMA(H-L, p)[t] - EMA(H-L, p)[t-rocPeriod]) / EMA(H-L, p)[t-rocPeriod] * 100
1852
1761
  // ============================================================================
1853
1762
 
1854
- export const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
1855
- export const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
1763
+ const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
1764
+ const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
1856
1765
 
1857
1766
  export function calcChaikinVolData(
1858
1767
  data: KLineData[],
@@ -1878,20 +1787,13 @@ export function calcChaikinVolData(
1878
1787
  return result
1879
1788
  }
1880
1789
 
1881
- export function calcChaikinVolDataSoA(
1882
- layout: KLineSoALayout,
1883
- emaPeriod: number,
1884
- rocPeriod: number,
1885
- ): (number | undefined)[] {
1886
- const data = SharedKLineBuffer.toKLineData(layout)
1887
- return calcChaikinVolData(data, emaPeriod, rocPeriod)
1888
- }
1790
+
1889
1791
 
1890
1792
  // ============================================================================
1891
1793
  // VMA — Volume Moving Average (SMA of volume)
1892
1794
  // ============================================================================
1893
1795
 
1894
- export const DEFAULT_VMA_PERIOD = 5
1796
+ const DEFAULT_VMA_PERIOD = 5
1895
1797
 
1896
1798
  export function calcVMAData(data: KLineData[], period: number): (number | undefined)[] {
1897
1799
  const n = data.length
@@ -1907,10 +1809,7 @@ export function calcVMAData(data: KLineData[], period: number): (number | undefi
1907
1809
  return result
1908
1810
  }
1909
1811
 
1910
- export function calcVMADataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1911
- const data = SharedKLineBuffer.toKLineData(layout)
1912
- return calcVMAData(data, period)
1913
- }
1812
+
1914
1813
 
1915
1814
  // ============================================================================
1916
1815
  // OBV — On Balance Volume (cumulative)
@@ -1935,10 +1834,7 @@ export function calcOBVData(data: KLineData[]): (number | undefined)[] {
1935
1834
  return result
1936
1835
  }
1937
1836
 
1938
- export function calcOBVDataSoA(layout: KLineSoALayout): (number | undefined)[] {
1939
- const data = SharedKLineBuffer.toKLineData(layout)
1940
- return calcOBVData(data)
1941
- }
1837
+
1942
1838
 
1943
1839
  // ============================================================================
1944
1840
  // PVT — Price Volume Trend (cumulative)
@@ -1963,10 +1859,7 @@ export function calcPVTData(data: KLineData[]): (number | undefined)[] {
1963
1859
  return result
1964
1860
  }
1965
1861
 
1966
- export function calcPVTDataSoA(layout: KLineSoALayout): (number | undefined)[] {
1967
- const data = SharedKLineBuffer.toKLineData(layout)
1968
- return calcPVTData(data)
1969
- }
1862
+
1970
1863
 
1971
1864
  // ============================================================================
1972
1865
  // VWAP — Volume-Weighted Average Price
@@ -1976,7 +1869,7 @@ export function calcPVTDataSoA(layout: KLineSoALayout): (number | undefined)[] {
1976
1869
  // between consecutive bar timestamps exceeds this value (e.g., overnight)
1977
1870
  // ============================================================================
1978
1871
 
1979
- export const DEFAULT_VWAP_SESSION_GAP_MS = 0
1872
+ const DEFAULT_VWAP_SESSION_GAP_MS = 0
1980
1873
 
1981
1874
  export function calcVWAPData(
1982
1875
  data: KLineData[],
@@ -2006,13 +1899,7 @@ export function calcVWAPData(
2006
1899
  return result
2007
1900
  }
2008
1901
 
2009
- export function calcVWAPDataSoA(
2010
- layout: KLineSoALayout,
2011
- sessionResetGapMs: number,
2012
- ): (number | undefined)[] {
2013
- const data = SharedKLineBuffer.toKLineData(layout)
2014
- return calcVWAPData(data, sessionResetGapMs)
2015
- }
1902
+
2016
1903
 
2017
1904
  // ============================================================================
2018
1905
  // CMF — Chaikin Money Flow
@@ -2021,7 +1908,7 @@ export function calcVWAPDataSoA(
2021
1908
  // CMF(t) = sum(MFV[t-period+1..t]) / sum(Volume[t-period+1..t]) ∈ [-1, 1]
2022
1909
  // ============================================================================
2023
1910
 
2024
- export const DEFAULT_CMF_PERIOD = 20
1911
+ const DEFAULT_CMF_PERIOD = 20
2025
1912
 
2026
1913
  export function calcCMFData(data: KLineData[], period: number): (number | undefined)[] {
2027
1914
  const n = data.length
@@ -2052,10 +1939,7 @@ export function calcCMFData(data: KLineData[], period: number): (number | undefi
2052
1939
  return result
2053
1940
  }
2054
1941
 
2055
- export function calcCMFDataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
2056
- const data = SharedKLineBuffer.toKLineData(layout)
2057
- return calcCMFData(data, period)
2058
- }
1942
+
2059
1943
 
2060
1944
  // ============================================================================
2061
1945
  // MFI — Money Flow Index
@@ -2064,7 +1948,7 @@ export function calcCMFDataSoA(layout: KLineSoALayout, period: number): (number
2064
1948
  // MFR = PMF / NMF; MFI = 100 - 100 / (1 + MFR) ∈ [0, 100]
2065
1949
  // ============================================================================
2066
1950
 
2067
- export const DEFAULT_MFI_PERIOD = 14
1951
+ const DEFAULT_MFI_PERIOD = 14
2068
1952
 
2069
1953
  export function calcMFIData(data: KLineData[], period: number): (number | undefined)[] {
2070
1954
  const n = data.length
@@ -2109,10 +1993,7 @@ export function calcMFIData(data: KLineData[], period: number): (number | undefi
2109
1993
  return result
2110
1994
  }
2111
1995
 
2112
- export function calcMFIDataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
2113
- const data = SharedKLineBuffer.toKLineData(layout)
2114
- return calcMFIData(data, period)
2115
- }
1996
+
2116
1997
 
2117
1998
  // ============================================================================
2118
1999
  // Pivot Points — Classic floor-trader pivots from prior bar's HLC
@@ -2154,10 +2035,7 @@ export function calcPivotData(data: KLineData[]): (PivotPoint | undefined)[] {
2154
2035
  return result
2155
2036
  }
2156
2037
 
2157
- export function calcPivotDataSoA(layout: KLineSoALayout): (PivotPoint | undefined)[] {
2158
- const data = SharedKLineBuffer.toKLineData(layout)
2159
- return calcPivotData(data)
2160
- }
2038
+
2161
2039
 
2162
2040
  // ============================================================================
2163
2041
  // Fibonacci Retracement — anchored to rolling-window high/low
@@ -2177,7 +2055,7 @@ export interface FibPoint {
2177
2055
  level786: number
2178
2056
  }
2179
2057
 
2180
- export const DEFAULT_FIB_PERIOD = 50
2058
+ const DEFAULT_FIB_PERIOD = 50
2181
2059
 
2182
2060
  export function calcFibData(data: KLineData[], period: number): (FibPoint | undefined)[] {
2183
2061
  const n = data.length
@@ -2214,10 +2092,7 @@ export function calcFibData(data: KLineData[], period: number): (FibPoint | unde
2214
2092
  return result
2215
2093
  }
2216
2094
 
2217
- export function calcFibDataSoA(layout: KLineSoALayout, period: number): (FibPoint | undefined)[] {
2218
- const data = SharedKLineBuffer.toKLineData(layout)
2219
- return calcFibData(data, period)
2220
- }
2095
+
2221
2096
 
2222
2097
  // ============================================================================
2223
2098
  // SMC Structure — Swing detection + BOS / CHOCH events
@@ -2253,8 +2128,8 @@ export interface StructureSnapshot {
2253
2128
  trend: 'up' | 'down' | 'range'
2254
2129
  }
2255
2130
 
2256
- export const DEFAULT_STRUCTURE_LEFT = 2
2257
- export const DEFAULT_STRUCTURE_RIGHT = 2
2131
+ const DEFAULT_STRUCTURE_LEFT = 2
2132
+ const DEFAULT_STRUCTURE_RIGHT = 2
2258
2133
 
2259
2134
  export function calcStructureData(
2260
2135
  data: KLineData[],
@@ -2364,15 +2239,7 @@ function isExtremum(
2364
2239
  return true
2365
2240
  }
2366
2241
 
2367
- export function calcStructureDataSoA(
2368
- layout: KLineSoALayout,
2369
- leftWindow: number,
2370
- rightWindow: number,
2371
- breakoutSource: 'close' | 'wick',
2372
- ): StructureSnapshot {
2373
- const data = SharedKLineBuffer.toKLineData(layout)
2374
- return calcStructureData(data, leftWindow, rightWindow, breakoutSource)
2375
- }
2242
+
2376
2243
 
2377
2244
  // ============================================================================
2378
2245
  // SMC Zones — FVG (Fair Value Gap) + Order Blocks
@@ -2397,7 +2264,7 @@ export interface Zone {
2397
2264
  low: number
2398
2265
  }
2399
2266
 
2400
- export const DEFAULT_ZONES_OB_LOOKBACK = 5
2267
+ const DEFAULT_ZONES_OB_LOOKBACK = 5
2401
2268
 
2402
2269
  export function calcZonesData(
2403
2270
  data: KLineData[],
@@ -2476,16 +2343,7 @@ export function calcZonesData(
2476
2343
  return zones
2477
2344
  }
2478
2345
 
2479
- export function calcZonesDataSoA(
2480
- layout: KLineSoALayout,
2481
- obLookback: number,
2482
- structureLeftWindow: number,
2483
- structureRightWindow: number,
2484
- breakoutSource: 'close' | 'wick',
2485
- ): Zone[] {
2486
- const data = SharedKLineBuffer.toKLineData(layout)
2487
- return calcZonesData(data, obLookback, structureLeftWindow, structureRightWindow, breakoutSource)
2488
- }
2346
+
2489
2347
 
2490
2348
  // ============================================================================
2491
2349
  // Volume Profile — price-bin volume distribution
@@ -2508,9 +2366,9 @@ export interface VolumeProfileResult {
2508
2366
  totalVolume: number
2509
2367
  }
2510
2368
 
2511
- export const DEFAULT_VP_BINS = 24
2512
- export const DEFAULT_VP_LOOKBACK = 0
2513
- export const DEFAULT_VP_VALUE_AREA = 0.7
2369
+ const DEFAULT_VP_BINS = 24
2370
+ const DEFAULT_VP_LOOKBACK = 0
2371
+ const DEFAULT_VP_VALUE_AREA = 0.7
2514
2372
 
2515
2373
  export function calcVolumeProfileData(
2516
2374
  data: KLineData[],
@@ -2601,12 +2459,4 @@ export function calcVolumeProfileData(
2601
2459
  return { bins: binsArr, poc, vah, val, totalVolume }
2602
2460
  }
2603
2461
 
2604
- export function calcVolumeProfileDataSoA(
2605
- layout: KLineSoALayout,
2606
- bins: number,
2607
- lookback: number,
2608
- valueAreaPercent: number,
2609
- ): VolumeProfileResult {
2610
- const data = SharedKLineBuffer.toKLineData(layout)
2611
- return calcVolumeProfileData(data, bins, lookback, valueAreaPercent)
2612
- }
2462
+