@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
@@ -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 — 一目均衡表
@@ -1559,7 +1501,7 @@ export function calcDonchianDataSoA(
1559
1501
  // spanA(t) = (tenkan(t-displacement) + kijun(t-displacement)) / 2 ← 前置 displacement
1560
1502
  // spanB(t) = 用 spanBPeriod 计算后再前置 displacement
1561
1503
  // chikou(t) = close(t+displacement) ← 后置 displacement
1562
- // 注:不做未来云的延伸(输出长度 = data.length;最后 displacement 根没 spanA/B;前 displacement 根没 chikou
1504
+ // 输出长度 = data.length + displacement,末尾 displacement 根为未来云(仅 spanA/spanB
1563
1505
  // ============================================================================
1564
1506
 
1565
1507
  export interface IchimokuPoint {
@@ -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
@@ -1600,8 +1542,11 @@ export function calcIchimokuData(
1600
1542
  displacement: number,
1601
1543
  ): (IchimokuPoint | undefined)[] {
1602
1544
  const n = data.length
1603
- const result: (IchimokuPoint | undefined)[] = new Array(n).fill(undefined)
1604
- if (n === 0 || tenkanPeriod <= 0 || kijunPeriod <= 0 || spanBPeriod <= 0) return result
1545
+ const totalLen = n + displacement
1546
+ const result: (IchimokuPoint | undefined)[] = new Array(totalLen).fill(undefined)
1547
+ if (n === 0 || tenkanPeriod <= 0 || kijunPeriod <= 0 || spanBPeriod <= 0) {
1548
+ return result.slice(0, n)
1549
+ }
1605
1550
 
1606
1551
  const tenkan = _rollingMidline(data, tenkanPeriod)
1607
1552
  const kijun = _rollingMidline(data, kijunPeriod)
@@ -1631,26 +1576,33 @@ export function calcIchimokuData(
1631
1576
  result[t] = point
1632
1577
  }
1633
1578
 
1579
+ // 未来云:在 data 末尾延伸 displacement 根,仅含 spanA/spanB
1580
+ for (let f = 0; f < displacement; f++) {
1581
+ const t = n + f
1582
+ const src = t - displacement
1583
+ const point: IchimokuPoint = {}
1584
+ if (src >= 0 && src < n) {
1585
+ if (tenkan[src] !== undefined && kijun[src] !== undefined) {
1586
+ point.spanA = (tenkan[src]! + kijun[src]!) / 2
1587
+ }
1588
+ if (spanBSource[src] !== undefined) {
1589
+ point.spanB = spanBSource[src]
1590
+ }
1591
+ }
1592
+ result[t] = point
1593
+ }
1594
+
1634
1595
  return result
1635
1596
  }
1636
1597
 
1637
- export function calcIchimokuDataSoA(
1638
- layout: KLineSoALayout,
1639
- tenkanPeriod: number,
1640
- kijunPeriod: number,
1641
- spanBPeriod: number,
1642
- displacement: number,
1643
- ): (IchimokuPoint | undefined)[] {
1644
- const data = SharedKLineBuffer.toKLineData(layout)
1645
- return calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, displacement)
1646
- }
1598
+
1647
1599
 
1648
1600
  // ============================================================================
1649
1601
  // ROC — Rate of Change
1650
1602
  // ROC(t) = (close[t] - close[t-period]) / close[t-period] * 100
1651
1603
  // ============================================================================
1652
1604
 
1653
- export const DEFAULT_ROC_PERIOD = 12
1605
+ const DEFAULT_ROC_PERIOD = 12
1654
1606
 
1655
1607
  export function calcROCData(data: KLineData[], period: number): (number | undefined)[] {
1656
1608
  const n = data.length
@@ -1664,10 +1616,7 @@ export function calcROCData(data: KLineData[], period: number): (number | undefi
1664
1616
  return result
1665
1617
  }
1666
1618
 
1667
- export function calcROCDataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1668
- const data = SharedKLineBuffer.toKLineData(layout)
1669
- return calcROCData(data, period)
1670
- }
1619
+
1671
1620
 
1672
1621
  // ============================================================================
1673
1622
  // TRIX — Triple Exponential Smoothing Oscillator
@@ -1681,8 +1630,8 @@ export interface TRIXResult {
1681
1630
  signalSeries: (number | undefined)[]
1682
1631
  }
1683
1632
 
1684
- export const DEFAULT_TRIX_PERIOD = 15
1685
- export const DEFAULT_TRIX_SIGNAL_PERIOD = 9
1633
+ const DEFAULT_TRIX_PERIOD = 15
1634
+ const DEFAULT_TRIX_SIGNAL_PERIOD = 9
1686
1635
 
1687
1636
  export function calcTRIXData(
1688
1637
  data: KLineData[],
@@ -1716,14 +1665,7 @@ export function calcTRIXData(
1716
1665
  return { series, signalSeries }
1717
1666
  }
1718
1667
 
1719
- export function calcTRIXDataSoA(
1720
- layout: KLineSoALayout,
1721
- period: number,
1722
- signalPeriod: number,
1723
- ): TRIXResult {
1724
- const data = SharedKLineBuffer.toKLineData(layout)
1725
- return calcTRIXData(data, period, signalPeriod)
1726
- }
1668
+
1727
1669
 
1728
1670
  // ============================================================================
1729
1671
  // HV — Historical Volatility (close-to-close log returns)
@@ -1731,8 +1673,8 @@ export function calcTRIXDataSoA(
1731
1673
  // 输出年化波动率(百分比形式 × 100)
1732
1674
  // ============================================================================
1733
1675
 
1734
- export const DEFAULT_HV_PERIOD = 20
1735
- export const DEFAULT_HV_ANNUALIZATION = 252
1676
+ const DEFAULT_HV_PERIOD = 20
1677
+ const DEFAULT_HV_ANNUALIZATION = 252
1736
1678
 
1737
1679
  export function calcHVData(
1738
1680
  data: KLineData[],
@@ -1768,22 +1710,15 @@ export function calcHVData(
1768
1710
  return result
1769
1711
  }
1770
1712
 
1771
- export function calcHVDataSoA(
1772
- layout: KLineSoALayout,
1773
- period: number,
1774
- annualizationFactor: number,
1775
- ): (number | undefined)[] {
1776
- const data = SharedKLineBuffer.toKLineData(layout)
1777
- return calcHVData(data, period, annualizationFactor)
1778
- }
1713
+
1779
1714
 
1780
1715
  // ============================================================================
1781
1716
  // Parkinson Volatility — high-low range volatility
1782
1717
  // PV(t) = sqrt( (1/(4*ln(2))) * mean(ln(high[i]/low[i])^2) * annualization ) * 100
1783
1718
  // ============================================================================
1784
1719
 
1785
- export const DEFAULT_PARKINSON_PERIOD = 20
1786
- export const DEFAULT_PARKINSON_ANNUALIZATION = 252
1720
+ const DEFAULT_PARKINSON_PERIOD = 20
1721
+ const DEFAULT_PARKINSON_ANNUALIZATION = 252
1787
1722
 
1788
1723
  export function calcParkinsonData(
1789
1724
  data: KLineData[],
@@ -1818,22 +1753,15 @@ export function calcParkinsonData(
1818
1753
  return result
1819
1754
  }
1820
1755
 
1821
- export function calcParkinsonDataSoA(
1822
- layout: KLineSoALayout,
1823
- period: number,
1824
- annualizationFactor: number,
1825
- ): (number | undefined)[] {
1826
- const data = SharedKLineBuffer.toKLineData(layout)
1827
- return calcParkinsonData(data, period, annualizationFactor)
1828
- }
1756
+
1829
1757
 
1830
1758
  // ============================================================================
1831
1759
  // Chaikin Volatility — EMA(high-low) 的 ROC
1832
1760
  // ChaikinVol(t) = (EMA(H-L, p)[t] - EMA(H-L, p)[t-rocPeriod]) / EMA(H-L, p)[t-rocPeriod] * 100
1833
1761
  // ============================================================================
1834
1762
 
1835
- export const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
1836
- export const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
1763
+ const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
1764
+ const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
1837
1765
 
1838
1766
  export function calcChaikinVolData(
1839
1767
  data: KLineData[],
@@ -1859,20 +1787,13 @@ export function calcChaikinVolData(
1859
1787
  return result
1860
1788
  }
1861
1789
 
1862
- export function calcChaikinVolDataSoA(
1863
- layout: KLineSoALayout,
1864
- emaPeriod: number,
1865
- rocPeriod: number,
1866
- ): (number | undefined)[] {
1867
- const data = SharedKLineBuffer.toKLineData(layout)
1868
- return calcChaikinVolData(data, emaPeriod, rocPeriod)
1869
- }
1790
+
1870
1791
 
1871
1792
  // ============================================================================
1872
1793
  // VMA — Volume Moving Average (SMA of volume)
1873
1794
  // ============================================================================
1874
1795
 
1875
- export const DEFAULT_VMA_PERIOD = 5
1796
+ const DEFAULT_VMA_PERIOD = 5
1876
1797
 
1877
1798
  export function calcVMAData(data: KLineData[], period: number): (number | undefined)[] {
1878
1799
  const n = data.length
@@ -1888,10 +1809,7 @@ export function calcVMAData(data: KLineData[], period: number): (number | undefi
1888
1809
  return result
1889
1810
  }
1890
1811
 
1891
- export function calcVMADataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
1892
- const data = SharedKLineBuffer.toKLineData(layout)
1893
- return calcVMAData(data, period)
1894
- }
1812
+
1895
1813
 
1896
1814
  // ============================================================================
1897
1815
  // OBV — On Balance Volume (cumulative)
@@ -1916,10 +1834,7 @@ export function calcOBVData(data: KLineData[]): (number | undefined)[] {
1916
1834
  return result
1917
1835
  }
1918
1836
 
1919
- export function calcOBVDataSoA(layout: KLineSoALayout): (number | undefined)[] {
1920
- const data = SharedKLineBuffer.toKLineData(layout)
1921
- return calcOBVData(data)
1922
- }
1837
+
1923
1838
 
1924
1839
  // ============================================================================
1925
1840
  // PVT — Price Volume Trend (cumulative)
@@ -1944,10 +1859,7 @@ export function calcPVTData(data: KLineData[]): (number | undefined)[] {
1944
1859
  return result
1945
1860
  }
1946
1861
 
1947
- export function calcPVTDataSoA(layout: KLineSoALayout): (number | undefined)[] {
1948
- const data = SharedKLineBuffer.toKLineData(layout)
1949
- return calcPVTData(data)
1950
- }
1862
+
1951
1863
 
1952
1864
  // ============================================================================
1953
1865
  // VWAP — Volume-Weighted Average Price
@@ -1957,7 +1869,7 @@ export function calcPVTDataSoA(layout: KLineSoALayout): (number | undefined)[] {
1957
1869
  // between consecutive bar timestamps exceeds this value (e.g., overnight)
1958
1870
  // ============================================================================
1959
1871
 
1960
- export const DEFAULT_VWAP_SESSION_GAP_MS = 0
1872
+ const DEFAULT_VWAP_SESSION_GAP_MS = 0
1961
1873
 
1962
1874
  export function calcVWAPData(
1963
1875
  data: KLineData[],
@@ -1987,13 +1899,7 @@ export function calcVWAPData(
1987
1899
  return result
1988
1900
  }
1989
1901
 
1990
- export function calcVWAPDataSoA(
1991
- layout: KLineSoALayout,
1992
- sessionResetGapMs: number,
1993
- ): (number | undefined)[] {
1994
- const data = SharedKLineBuffer.toKLineData(layout)
1995
- return calcVWAPData(data, sessionResetGapMs)
1996
- }
1902
+
1997
1903
 
1998
1904
  // ============================================================================
1999
1905
  // CMF — Chaikin Money Flow
@@ -2002,7 +1908,7 @@ export function calcVWAPDataSoA(
2002
1908
  // CMF(t) = sum(MFV[t-period+1..t]) / sum(Volume[t-period+1..t]) ∈ [-1, 1]
2003
1909
  // ============================================================================
2004
1910
 
2005
- export const DEFAULT_CMF_PERIOD = 20
1911
+ const DEFAULT_CMF_PERIOD = 20
2006
1912
 
2007
1913
  export function calcCMFData(data: KLineData[], period: number): (number | undefined)[] {
2008
1914
  const n = data.length
@@ -2033,10 +1939,7 @@ export function calcCMFData(data: KLineData[], period: number): (number | undefi
2033
1939
  return result
2034
1940
  }
2035
1941
 
2036
- export function calcCMFDataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
2037
- const data = SharedKLineBuffer.toKLineData(layout)
2038
- return calcCMFData(data, period)
2039
- }
1942
+
2040
1943
 
2041
1944
  // ============================================================================
2042
1945
  // MFI — Money Flow Index
@@ -2045,7 +1948,7 @@ export function calcCMFDataSoA(layout: KLineSoALayout, period: number): (number
2045
1948
  // MFR = PMF / NMF; MFI = 100 - 100 / (1 + MFR) ∈ [0, 100]
2046
1949
  // ============================================================================
2047
1950
 
2048
- export const DEFAULT_MFI_PERIOD = 14
1951
+ const DEFAULT_MFI_PERIOD = 14
2049
1952
 
2050
1953
  export function calcMFIData(data: KLineData[], period: number): (number | undefined)[] {
2051
1954
  const n = data.length
@@ -2090,10 +1993,7 @@ export function calcMFIData(data: KLineData[], period: number): (number | undefi
2090
1993
  return result
2091
1994
  }
2092
1995
 
2093
- export function calcMFIDataSoA(layout: KLineSoALayout, period: number): (number | undefined)[] {
2094
- const data = SharedKLineBuffer.toKLineData(layout)
2095
- return calcMFIData(data, period)
2096
- }
1996
+
2097
1997
 
2098
1998
  // ============================================================================
2099
1999
  // Pivot Points — Classic floor-trader pivots from prior bar's HLC
@@ -2135,10 +2035,7 @@ export function calcPivotData(data: KLineData[]): (PivotPoint | undefined)[] {
2135
2035
  return result
2136
2036
  }
2137
2037
 
2138
- export function calcPivotDataSoA(layout: KLineSoALayout): (PivotPoint | undefined)[] {
2139
- const data = SharedKLineBuffer.toKLineData(layout)
2140
- return calcPivotData(data)
2141
- }
2038
+
2142
2039
 
2143
2040
  // ============================================================================
2144
2041
  // Fibonacci Retracement — anchored to rolling-window high/low
@@ -2158,7 +2055,7 @@ export interface FibPoint {
2158
2055
  level786: number
2159
2056
  }
2160
2057
 
2161
- export const DEFAULT_FIB_PERIOD = 50
2058
+ const DEFAULT_FIB_PERIOD = 50
2162
2059
 
2163
2060
  export function calcFibData(data: KLineData[], period: number): (FibPoint | undefined)[] {
2164
2061
  const n = data.length
@@ -2195,10 +2092,7 @@ export function calcFibData(data: KLineData[], period: number): (FibPoint | unde
2195
2092
  return result
2196
2093
  }
2197
2094
 
2198
- export function calcFibDataSoA(layout: KLineSoALayout, period: number): (FibPoint | undefined)[] {
2199
- const data = SharedKLineBuffer.toKLineData(layout)
2200
- return calcFibData(data, period)
2201
- }
2095
+
2202
2096
 
2203
2097
  // ============================================================================
2204
2098
  // SMC Structure — Swing detection + BOS / CHOCH events
@@ -2234,8 +2128,8 @@ export interface StructureSnapshot {
2234
2128
  trend: 'up' | 'down' | 'range'
2235
2129
  }
2236
2130
 
2237
- export const DEFAULT_STRUCTURE_LEFT = 2
2238
- export const DEFAULT_STRUCTURE_RIGHT = 2
2131
+ const DEFAULT_STRUCTURE_LEFT = 2
2132
+ const DEFAULT_STRUCTURE_RIGHT = 2
2239
2133
 
2240
2134
  export function calcStructureData(
2241
2135
  data: KLineData[],
@@ -2345,15 +2239,7 @@ function isExtremum(
2345
2239
  return true
2346
2240
  }
2347
2241
 
2348
- export function calcStructureDataSoA(
2349
- layout: KLineSoALayout,
2350
- leftWindow: number,
2351
- rightWindow: number,
2352
- breakoutSource: 'close' | 'wick',
2353
- ): StructureSnapshot {
2354
- const data = SharedKLineBuffer.toKLineData(layout)
2355
- return calcStructureData(data, leftWindow, rightWindow, breakoutSource)
2356
- }
2242
+
2357
2243
 
2358
2244
  // ============================================================================
2359
2245
  // SMC Zones — FVG (Fair Value Gap) + Order Blocks
@@ -2378,7 +2264,7 @@ export interface Zone {
2378
2264
  low: number
2379
2265
  }
2380
2266
 
2381
- export const DEFAULT_ZONES_OB_LOOKBACK = 5
2267
+ const DEFAULT_ZONES_OB_LOOKBACK = 5
2382
2268
 
2383
2269
  export function calcZonesData(
2384
2270
  data: KLineData[],
@@ -2457,16 +2343,7 @@ export function calcZonesData(
2457
2343
  return zones
2458
2344
  }
2459
2345
 
2460
- export function calcZonesDataSoA(
2461
- layout: KLineSoALayout,
2462
- obLookback: number,
2463
- structureLeftWindow: number,
2464
- structureRightWindow: number,
2465
- breakoutSource: 'close' | 'wick',
2466
- ): Zone[] {
2467
- const data = SharedKLineBuffer.toKLineData(layout)
2468
- return calcZonesData(data, obLookback, structureLeftWindow, structureRightWindow, breakoutSource)
2469
- }
2346
+
2470
2347
 
2471
2348
  // ============================================================================
2472
2349
  // Volume Profile — price-bin volume distribution
@@ -2489,9 +2366,9 @@ export interface VolumeProfileResult {
2489
2366
  totalVolume: number
2490
2367
  }
2491
2368
 
2492
- export const DEFAULT_VP_BINS = 24
2493
- export const DEFAULT_VP_LOOKBACK = 0
2494
- 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
2495
2372
 
2496
2373
  export function calcVolumeProfileData(
2497
2374
  data: KLineData[],
@@ -2582,12 +2459,4 @@ export function calcVolumeProfileData(
2582
2459
  return { bins: binsArr, poc, vah, val, totalVolume }
2583
2460
  }
2584
2461
 
2585
- export function calcVolumeProfileDataSoA(
2586
- layout: KLineSoALayout,
2587
- bins: number,
2588
- lookback: number,
2589
- valueAreaPercent: number,
2590
- ): VolumeProfileResult {
2591
- const data = SharedKLineBuffer.toKLineData(layout)
2592
- return calcVolumeProfileData(data, bins, lookback, valueAreaPercent)
2593
- }
2462
+