@amcharts/amcharts5 5.1.14 → 5.2.2

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 (574) hide show
  1. package/.internal/charts/map/MapChart.d.ts +15 -0
  2. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  3. package/.internal/charts/map/MapChart.js +23 -8
  4. package/.internal/charts/map/MapChart.js.map +1 -1
  5. package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
  6. package/.internal/charts/map/MapChartDefaultTheme.js +2 -1
  7. package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
  8. package/.internal/charts/stock/PanelControls.d.ts +53 -0
  9. package/.internal/charts/stock/PanelControls.d.ts.map +1 -0
  10. package/.internal/charts/stock/PanelControls.js +122 -0
  11. package/.internal/charts/stock/PanelControls.js.map +1 -0
  12. package/.internal/charts/stock/SettingsModal.d.ts +70 -0
  13. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -0
  14. package/.internal/charts/stock/SettingsModal.js +457 -0
  15. package/.internal/charts/stock/SettingsModal.js.map +1 -0
  16. package/.internal/charts/stock/StockChart.d.ts +189 -0
  17. package/.internal/charts/stock/StockChart.d.ts.map +1 -0
  18. package/.internal/charts/stock/StockChart.js +700 -0
  19. package/.internal/charts/stock/StockChart.js.map +1 -0
  20. package/.internal/charts/stock/StockChartDefaultTheme.d.ts +8 -0
  21. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -0
  22. package/.internal/charts/stock/StockChartDefaultTheme.js +1197 -0
  23. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -0
  24. package/.internal/charts/stock/StockLegend.d.ts +67 -0
  25. package/.internal/charts/stock/StockLegend.d.ts.map +1 -0
  26. package/.internal/charts/stock/StockLegend.js +136 -0
  27. package/.internal/charts/stock/StockLegend.js.map +1 -0
  28. package/.internal/charts/stock/StockPanel.d.ts +52 -0
  29. package/.internal/charts/stock/StockPanel.d.ts.map +1 -0
  30. package/.internal/charts/stock/StockPanel.js +164 -0
  31. package/.internal/charts/stock/StockPanel.js.map +1 -0
  32. package/.internal/charts/stock/drawing/AverageSeries.d.ts +22 -0
  33. package/.internal/charts/stock/drawing/AverageSeries.d.ts.map +1 -0
  34. package/.internal/charts/stock/drawing/AverageSeries.js +86 -0
  35. package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -0
  36. package/.internal/charts/stock/drawing/CalloutSeries.d.ts +31 -0
  37. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -0
  38. package/.internal/charts/stock/drawing/CalloutSeries.js +103 -0
  39. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -0
  40. package/.internal/charts/stock/drawing/DoodleSeries.d.ts +26 -0
  41. package/.internal/charts/stock/drawing/DoodleSeries.d.ts.map +1 -0
  42. package/.internal/charts/stock/drawing/DoodleSeries.js +155 -0
  43. package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -0
  44. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +127 -0
  45. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -0
  46. package/.internal/charts/stock/drawing/DrawingSeries.js +849 -0
  47. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -0
  48. package/.internal/charts/stock/drawing/EllipseSeries.d.ts +37 -0
  49. package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -0
  50. package/.internal/charts/stock/drawing/EllipseSeries.js +366 -0
  51. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -0
  52. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +56 -0
  53. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -0
  54. package/.internal/charts/stock/drawing/FibonacciSeries.js +284 -0
  55. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -0
  56. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts +20 -0
  57. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts.map +1 -0
  58. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js +120 -0
  59. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -0
  60. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts +22 -0
  61. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -0
  62. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +94 -0
  63. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -0
  64. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +29 -0
  65. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -0
  66. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +110 -0
  67. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -0
  68. package/.internal/charts/stock/drawing/IconSeries.d.ts +54 -0
  69. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -0
  70. package/.internal/charts/stock/drawing/IconSeries.js +127 -0
  71. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -0
  72. package/.internal/charts/stock/drawing/LabelSeries.d.ts +54 -0
  73. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -0
  74. package/.internal/charts/stock/drawing/LabelSeries.js +195 -0
  75. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -0
  76. package/.internal/charts/stock/drawing/PolylineSeries.d.ts +26 -0
  77. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -0
  78. package/.internal/charts/stock/drawing/PolylineSeries.js +158 -0
  79. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -0
  80. package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts +26 -0
  81. package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts.map +1 -0
  82. package/.internal/charts/stock/drawing/QuadrantLineSeries.js +163 -0
  83. package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -0
  84. package/.internal/charts/stock/drawing/RectangleSeries.d.ts +27 -0
  85. package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -0
  86. package/.internal/charts/stock/drawing/RectangleSeries.js +202 -0
  87. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -0
  88. package/.internal/charts/stock/drawing/RegressionSeries.d.ts +22 -0
  89. package/.internal/charts/stock/drawing/RegressionSeries.d.ts.map +1 -0
  90. package/.internal/charts/stock/drawing/RegressionSeries.js +97 -0
  91. package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -0
  92. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +51 -0
  93. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -0
  94. package/.internal/charts/stock/drawing/SimpleLineSeries.js +366 -0
  95. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -0
  96. package/.internal/charts/stock/drawing/SpriteResizer.d.ts +44 -0
  97. package/.internal/charts/stock/drawing/SpriteResizer.d.ts.map +1 -0
  98. package/.internal/charts/stock/drawing/SpriteResizer.js +254 -0
  99. package/.internal/charts/stock/drawing/SpriteResizer.js.map +1 -0
  100. package/.internal/charts/stock/drawing/TrendLineSeries.d.ts +22 -0
  101. package/.internal/charts/stock/drawing/TrendLineSeries.d.ts.map +1 -0
  102. package/.internal/charts/stock/drawing/TrendLineSeries.js +68 -0
  103. package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -0
  104. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts +22 -0
  105. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -0
  106. package/.internal/charts/stock/drawing/VerticalLineSeries.js +95 -0
  107. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -0
  108. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts +43 -0
  109. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts.map +1 -0
  110. package/.internal/charts/stock/indicators/AccumulationDistribution.js +120 -0
  111. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -0
  112. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts +52 -0
  113. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -0
  114. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +178 -0
  115. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -0
  116. package/.internal/charts/stock/indicators/Aroon.d.ts +48 -0
  117. package/.internal/charts/stock/indicators/Aroon.d.ts.map +1 -0
  118. package/.internal/charts/stock/indicators/Aroon.js +145 -0
  119. package/.internal/charts/stock/indicators/Aroon.js.map +1 -0
  120. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts +43 -0
  121. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -0
  122. package/.internal/charts/stock/indicators/AwesomeOscillator.js +120 -0
  123. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -0
  124. package/.internal/charts/stock/indicators/BollingerBands.d.ts +51 -0
  125. package/.internal/charts/stock/indicators/BollingerBands.d.ts.map +1 -0
  126. package/.internal/charts/stock/indicators/BollingerBands.js +194 -0
  127. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -0
  128. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts +39 -0
  129. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts.map +1 -0
  130. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +129 -0
  131. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -0
  132. package/.internal/charts/stock/indicators/ChaikinOscillator.d.ts +43 -0
  133. package/.internal/charts/stock/indicators/ChaikinOscillator.d.ts.map +1 -0
  134. package/.internal/charts/stock/indicators/ChaikinOscillator.js +130 -0
  135. package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -0
  136. package/.internal/charts/stock/indicators/ChartIndicator.d.ts +36 -0
  137. package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -0
  138. package/.internal/charts/stock/indicators/ChartIndicator.js +140 -0
  139. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -0
  140. package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts +58 -0
  141. package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts.map +1 -0
  142. package/.internal/charts/stock/indicators/CommodityChannelIndex.js +233 -0
  143. package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -0
  144. package/.internal/charts/stock/indicators/DisparityIndex.d.ts +40 -0
  145. package/.internal/charts/stock/indicators/DisparityIndex.d.ts.map +1 -0
  146. package/.internal/charts/stock/indicators/DisparityIndex.js +128 -0
  147. package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -0
  148. package/.internal/charts/stock/indicators/Indicator.d.ts +114 -0
  149. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -0
  150. package/.internal/charts/stock/indicators/Indicator.js +443 -0
  151. package/.internal/charts/stock/indicators/Indicator.js.map +1 -0
  152. package/.internal/charts/stock/indicators/MACD.d.ts +70 -0
  153. package/.internal/charts/stock/indicators/MACD.d.ts.map +1 -0
  154. package/.internal/charts/stock/indicators/MACD.js +233 -0
  155. package/.internal/charts/stock/indicators/MACD.js.map +1 -0
  156. package/.internal/charts/stock/indicators/MovingAverage.d.ts +45 -0
  157. package/.internal/charts/stock/indicators/MovingAverage.d.ts.map +1 -0
  158. package/.internal/charts/stock/indicators/MovingAverage.js +174 -0
  159. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -0
  160. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +54 -0
  161. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -0
  162. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +169 -0
  163. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -0
  164. package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts +60 -0
  165. package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts.map +1 -0
  166. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +213 -0
  167. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -0
  168. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts +39 -0
  169. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts.map +1 -0
  170. package/.internal/charts/stock/indicators/OnBalanceVolume.js +115 -0
  171. package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -0
  172. package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts +58 -0
  173. package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts.map +1 -0
  174. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +275 -0
  175. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -0
  176. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts +65 -0
  177. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts.map +1 -0
  178. package/.internal/charts/stock/indicators/StochasticOscillator.js +245 -0
  179. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -0
  180. package/.internal/charts/stock/indicators/Volume.d.ts +43 -0
  181. package/.internal/charts/stock/indicators/Volume.d.ts.map +1 -0
  182. package/.internal/charts/stock/indicators/Volume.js +107 -0
  183. package/.internal/charts/stock/indicators/Volume.js.map +1 -0
  184. package/.internal/charts/stock/indicators/WilliamsR.d.ts +58 -0
  185. package/.internal/charts/stock/indicators/WilliamsR.d.ts.map +1 -0
  186. package/.internal/charts/stock/indicators/WilliamsR.js +235 -0
  187. package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -0
  188. package/.internal/charts/stock/toolbar/ColorControl.d.ts +40 -0
  189. package/.internal/charts/stock/toolbar/ColorControl.d.ts.map +1 -0
  190. package/.internal/charts/stock/toolbar/ColorControl.js +117 -0
  191. package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -0
  192. package/.internal/charts/stock/toolbar/ComparisonControl.d.ts +21 -0
  193. package/.internal/charts/stock/toolbar/ComparisonControl.d.ts.map +1 -0
  194. package/.internal/charts/stock/toolbar/ComparisonControl.js +35 -0
  195. package/.internal/charts/stock/toolbar/ComparisonControl.js.map +1 -0
  196. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +46 -0
  197. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -0
  198. package/.internal/charts/stock/toolbar/DateRangeSelector.js +346 -0
  199. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -0
  200. package/.internal/charts/stock/toolbar/DrawingControl.d.ts +151 -0
  201. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -0
  202. package/.internal/charts/stock/toolbar/DrawingControl.js +791 -0
  203. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -0
  204. package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts +33 -0
  205. package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts.map +1 -0
  206. package/.internal/charts/stock/toolbar/DrawingToolControl.js +133 -0
  207. package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -0
  208. package/.internal/charts/stock/toolbar/Dropdown.d.ts +38 -0
  209. package/.internal/charts/stock/toolbar/Dropdown.d.ts.map +1 -0
  210. package/.internal/charts/stock/toolbar/Dropdown.js +174 -0
  211. package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -0
  212. package/.internal/charts/stock/toolbar/DropdownColors.d.ts +40 -0
  213. package/.internal/charts/stock/toolbar/DropdownColors.d.ts.map +1 -0
  214. package/.internal/charts/stock/toolbar/DropdownColors.js +160 -0
  215. package/.internal/charts/stock/toolbar/DropdownColors.js.map +1 -0
  216. package/.internal/charts/stock/toolbar/DropdownList.d.ts +52 -0
  217. package/.internal/charts/stock/toolbar/DropdownList.d.ts.map +1 -0
  218. package/.internal/charts/stock/toolbar/DropdownList.js +283 -0
  219. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -0
  220. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +38 -0
  221. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -0
  222. package/.internal/charts/stock/toolbar/DropdownListControl.js +178 -0
  223. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -0
  224. package/.internal/charts/stock/toolbar/IconControl.d.ts +38 -0
  225. package/.internal/charts/stock/toolbar/IconControl.d.ts.map +1 -0
  226. package/.internal/charts/stock/toolbar/IconControl.js +133 -0
  227. package/.internal/charts/stock/toolbar/IconControl.js.map +1 -0
  228. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +34 -0
  229. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -0
  230. package/.internal/charts/stock/toolbar/IndicatorControl.js +273 -0
  231. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -0
  232. package/.internal/charts/stock/toolbar/IntervalControl.d.ts +29 -0
  233. package/.internal/charts/stock/toolbar/IntervalControl.d.ts.map +1 -0
  234. package/.internal/charts/stock/toolbar/IntervalControl.js +35 -0
  235. package/.internal/charts/stock/toolbar/IntervalControl.js.map +1 -0
  236. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +36 -0
  237. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -0
  238. package/.internal/charts/stock/toolbar/PeriodSelector.js +135 -0
  239. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -0
  240. package/.internal/charts/stock/toolbar/ResetControl.d.ts +24 -0
  241. package/.internal/charts/stock/toolbar/ResetControl.d.ts.map +1 -0
  242. package/.internal/charts/stock/toolbar/ResetControl.js +55 -0
  243. package/.internal/charts/stock/toolbar/ResetControl.js.map +1 -0
  244. package/.internal/charts/stock/toolbar/SeriesTypeControl.d.ts +18 -0
  245. package/.internal/charts/stock/toolbar/SeriesTypeControl.d.ts.map +1 -0
  246. package/.internal/charts/stock/toolbar/SeriesTypeControl.js +26 -0
  247. package/.internal/charts/stock/toolbar/SeriesTypeControl.js.map +1 -0
  248. package/.internal/charts/stock/toolbar/SettingsControl.d.ts +28 -0
  249. package/.internal/charts/stock/toolbar/SettingsControl.d.ts.map +1 -0
  250. package/.internal/charts/stock/toolbar/SettingsControl.js +163 -0
  251. package/.internal/charts/stock/toolbar/SettingsControl.js.map +1 -0
  252. package/.internal/charts/stock/toolbar/StockControl.d.ts +80 -0
  253. package/.internal/charts/stock/toolbar/StockControl.d.ts.map +1 -0
  254. package/.internal/charts/stock/toolbar/StockControl.js +199 -0
  255. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -0
  256. package/.internal/charts/stock/toolbar/StockIcons.d.ts +16 -0
  257. package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -0
  258. package/.internal/charts/stock/toolbar/StockIcons.js +86 -0
  259. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -0
  260. package/.internal/charts/stock/toolbar/StockToolbar.d.ts +57 -0
  261. package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -0
  262. package/.internal/charts/stock/toolbar/StockToolbar.js +118 -0
  263. package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -0
  264. package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts +7 -0
  265. package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -0
  266. package/.internal/charts/stock/toolbar/StockToolbarCSS.js +291 -0
  267. package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -0
  268. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  269. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  270. package/.internal/charts/xy/axes/Axis.js +18 -1
  271. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  272. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  273. package/.internal/charts/xy/axes/AxisRenderer.js +0 -6
  274. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  275. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  276. package/.internal/charts/xy/axes/AxisRendererX.js +19 -11
  277. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  278. package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
  279. package/.internal/charts/xy/axes/AxisRendererY.js +17 -8
  280. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  281. package/.internal/charts/xy/axes/DateAxis.d.ts +34 -0
  282. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  283. package/.internal/charts/xy/axes/DateAxis.js +89 -14
  284. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  285. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  286. package/.internal/charts/xy/axes/GaplessDateAxis.js +1 -0
  287. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  288. package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -0
  289. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  290. package/.internal/charts/xy/axes/ValueAxis.js +8 -0
  291. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  292. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +5 -2
  293. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  294. package/.internal/charts/xy/series/BaseColumnSeries.js +1 -0
  295. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  296. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  297. package/.internal/charts/xy/series/LineSeries.js +4 -1
  298. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  299. package/.internal/core/Classes.d.ts +124 -0
  300. package/.internal/core/Classes.d.ts.map +1 -1
  301. package/.internal/core/Classes.js.map +1 -1
  302. package/.internal/core/Root.d.ts +14 -12
  303. package/.internal/core/Root.d.ts.map +1 -1
  304. package/.internal/core/Root.js +34 -12
  305. package/.internal/core/Root.js.map +1 -1
  306. package/.internal/core/render/Legend.d.ts.map +1 -1
  307. package/.internal/core/render/Legend.js +16 -0
  308. package/.internal/core/render/Legend.js.map +1 -1
  309. package/.internal/core/util/Modal.d.ts.map +1 -1
  310. package/.internal/core/util/Modal.js +66 -2
  311. package/.internal/core/util/Modal.js.map +1 -1
  312. package/.internal/core/util/PopulateString.d.ts +4 -0
  313. package/.internal/core/util/PopulateString.d.ts.map +1 -1
  314. package/.internal/core/util/PopulateString.js +1 -1
  315. package/.internal/core/util/PopulateString.js.map +1 -1
  316. package/.internal/core/util/Utils.d.ts +17 -1
  317. package/.internal/core/util/Utils.d.ts.map +1 -1
  318. package/.internal/core/util/Utils.js +59 -11
  319. package/.internal/core/util/Utils.js.map +1 -1
  320. package/.internal/plugins/exporting/ExportingCSS.d.ts.map +1 -1
  321. package/.internal/plugins/exporting/ExportingCSS.js +1 -0
  322. package/.internal/plugins/exporting/ExportingCSS.js.map +1 -1
  323. package/.internal/plugins/exporting/ExportingMenu.js +2 -2
  324. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  325. package/.internal/plugins/json/Classes-script.d.ts +124 -0
  326. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  327. package/.internal/plugins/json/Classes-script.js +62 -0
  328. package/.internal/plugins/json/Classes-script.js.map +1 -1
  329. package/.internal/plugins/json/Classes.d.ts +124 -0
  330. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  331. package/.internal/plugins/json/Classes.js +62 -0
  332. package/.internal/plugins/json/Classes.js.map +1 -1
  333. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  334. package/.internal/themes/DefaultTheme.js +17 -1
  335. package/.internal/themes/DefaultTheme.js.map +1 -1
  336. package/CHANGELOG.md +42 -0
  337. package/examples/javascript/flow-chord/package.json +1 -1
  338. package/examples/javascript/flow-chord-directed/package.json +1 -1
  339. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  340. package/examples/javascript/flow-sankey/package.json +1 -1
  341. package/examples/javascript/gauge/package.json +1 -1
  342. package/examples/javascript/gauge-bands/package.json +1 -1
  343. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  344. package/examples/javascript/hierarchy-pack/package.json +1 -1
  345. package/examples/javascript/hierarchy-partition/package.json +1 -1
  346. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  347. package/examples/javascript/hierarchy-tree/package.json +1 -1
  348. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  349. package/examples/javascript/json/package.json +1 -1
  350. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  351. package/examples/javascript/map-day-and-night/package.json +1 -1
  352. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  353. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  354. package/examples/javascript/map-with-bubbles/package.json +1 -1
  355. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  356. package/examples/javascript/misc-40-charts/package.json +1 -1
  357. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  358. package/examples/javascript/pie-chart/package.json +1 -1
  359. package/examples/javascript/pie-donut-chart/package.json +1 -1
  360. package/examples/javascript/pie-variable-radius/package.json +1 -1
  361. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  362. package/examples/javascript/radar-heat-map/package.json +1 -1
  363. package/examples/javascript/radar-line/package.json +1 -1
  364. package/examples/javascript/radar-time-line/package.json +1 -1
  365. package/examples/javascript/sliced-funnel/package.json +1 -1
  366. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  367. package/examples/javascript/sliced-pyramid/package.json +1 -1
  368. package/examples/javascript/stock-chart/README.md +6 -0
  369. package/examples/javascript/stock-chart/index.css +11 -0
  370. package/examples/javascript/stock-chart/index.html +13 -0
  371. package/examples/javascript/stock-chart/index.js +552 -0
  372. package/examples/javascript/stock-chart/package.json +16 -0
  373. package/examples/javascript/stock-chart/webpack.config.js +38 -0
  374. package/examples/javascript/stock-chart-comparing-stocks/README.md +6 -0
  375. package/examples/javascript/stock-chart-comparing-stocks/data/AAPL_day.js +255 -0
  376. package/examples/javascript/stock-chart-comparing-stocks/data/AMD_day.js +255 -0
  377. package/examples/javascript/stock-chart-comparing-stocks/data/AMZN_day.js +255 -0
  378. package/examples/javascript/stock-chart-comparing-stocks/data/GOOG_day.js +255 -0
  379. package/examples/javascript/stock-chart-comparing-stocks/data/MSFT_day.js +255 -0
  380. package/examples/javascript/stock-chart-comparing-stocks/data/NFLX_day.js +255 -0
  381. package/examples/javascript/stock-chart-comparing-stocks/data/NVDA_day.js +255 -0
  382. package/examples/javascript/stock-chart-comparing-stocks/data/TSLA_day.js +255 -0
  383. package/examples/javascript/stock-chart-comparing-stocks/index.css +11 -0
  384. package/examples/javascript/stock-chart-comparing-stocks/index.html +13 -0
  385. package/examples/javascript/stock-chart-comparing-stocks/index.js +361 -0
  386. package/examples/javascript/stock-chart-comparing-stocks/package.json +16 -0
  387. package/examples/javascript/stock-chart-comparing-stocks/webpack.config.js +38 -0
  388. package/examples/javascript/stock-chart-data-granularity/README.md +6 -0
  389. package/examples/javascript/stock-chart-data-granularity/data/MSFT_day.js +255 -0
  390. package/examples/javascript/stock-chart-data-granularity/data/MSFT_minute.js +392 -0
  391. package/examples/javascript/stock-chart-data-granularity/data/MSFT_month.js +14 -0
  392. package/examples/javascript/stock-chart-data-granularity/data/MSFT_week.js +55 -0
  393. package/examples/javascript/stock-chart-data-granularity/index.css +11 -0
  394. package/examples/javascript/stock-chart-data-granularity/index.html +13 -0
  395. package/examples/javascript/stock-chart-data-granularity/index.js +344 -0
  396. package/examples/javascript/stock-chart-data-granularity/package.json +16 -0
  397. package/examples/javascript/stock-chart-data-granularity/webpack.config.js +38 -0
  398. package/examples/javascript/stock-chart-data-grouping/README.md +6 -0
  399. package/examples/javascript/stock-chart-data-grouping/data/MSFT_day.js +3103 -0
  400. package/examples/javascript/stock-chart-data-grouping/index.css +11 -0
  401. package/examples/javascript/stock-chart-data-grouping/index.html +13 -0
  402. package/examples/javascript/stock-chart-data-grouping/index.js +343 -0
  403. package/examples/javascript/stock-chart-data-grouping/package.json +16 -0
  404. package/examples/javascript/stock-chart-data-grouping/webpack.config.js +38 -0
  405. package/examples/javascript/stock-chart-intraday/README.md +6 -0
  406. package/examples/javascript/stock-chart-intraday/index.css +11 -0
  407. package/examples/javascript/stock-chart-intraday/index.html +13 -0
  408. package/examples/javascript/stock-chart-intraday/index.js +678 -0
  409. package/examples/javascript/stock-chart-intraday/package.json +16 -0
  410. package/examples/javascript/stock-chart-intraday/webpack.config.js +38 -0
  411. package/examples/javascript/stock-chart-live/README.md +6 -0
  412. package/examples/javascript/stock-chart-live/index.css +11 -0
  413. package/examples/javascript/stock-chart-live/index.html +13 -0
  414. package/examples/javascript/stock-chart-live/index.js +308 -0
  415. package/examples/javascript/stock-chart-live/package.json +16 -0
  416. package/examples/javascript/stock-chart-live/webpack.config.js +38 -0
  417. package/examples/javascript/stock-chart-volume-separate-panel/README.md +6 -0
  418. package/examples/javascript/stock-chart-volume-separate-panel/index.css +11 -0
  419. package/examples/javascript/stock-chart-volume-separate-panel/index.html +13 -0
  420. package/examples/javascript/stock-chart-volume-separate-panel/index.js +590 -0
  421. package/examples/javascript/stock-chart-volume-separate-panel/package.json +16 -0
  422. package/examples/javascript/stock-chart-volume-separate-panel/webpack.config.js +38 -0
  423. package/examples/javascript/venn-diagram/package.json +1 -1
  424. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  425. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  426. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  427. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  428. package/examples/javascript/xy-bubble/package.json +1 -1
  429. package/examples/javascript/xy-candlestick/package.json +1 -1
  430. package/examples/javascript/xy-clustered-column/package.json +1 -1
  431. package/examples/javascript/xy-column/package.json +1 -1
  432. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  433. package/examples/javascript/xy-data-grouping/package.json +1 -1
  434. package/examples/javascript/xy-draggable-range/package.json +1 -1
  435. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  436. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  437. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  438. package/examples/javascript/xy-line/package.json +1 -1
  439. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  440. package/examples/javascript/xy-live-data/package.json +1 -1
  441. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  442. package/examples/javascript/xy-ohlc/package.json +1 -1
  443. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  444. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  445. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  446. package/examples/javascript/xy-stacked-column/package.json +1 -1
  447. package/examples/javascript/xy-stacked-step/package.json +1 -1
  448. package/examples/javascript/xy-stock/package.json +1 -1
  449. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  450. package/examples/typescript/flow-chord/package.json +1 -1
  451. package/examples/typescript/flow-chord-directed/package.json +1 -1
  452. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  453. package/examples/typescript/flow-sankey/package.json +1 -1
  454. package/examples/typescript/gauge/package.json +1 -1
  455. package/examples/typescript/gauge-bands/package.json +1 -1
  456. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  457. package/examples/typescript/hierarchy-pack/package.json +1 -1
  458. package/examples/typescript/hierarchy-partition/package.json +1 -1
  459. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  460. package/examples/typescript/hierarchy-tree/package.json +1 -1
  461. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  462. package/examples/typescript/json/package.json +1 -1
  463. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  464. package/examples/typescript/map-day-and-night/package.json +1 -1
  465. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  466. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  467. package/examples/typescript/map-with-bubbles/package.json +1 -1
  468. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  469. package/examples/typescript/misc-40-charts/package.json +1 -1
  470. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  471. package/examples/typescript/pie-chart/package.json +1 -1
  472. package/examples/typescript/pie-donut-chart/package.json +1 -1
  473. package/examples/typescript/pie-variable-radius/package.json +1 -1
  474. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  475. package/examples/typescript/radar-heat-map/package.json +1 -1
  476. package/examples/typescript/radar-line/package.json +1 -1
  477. package/examples/typescript/radar-time-line/package.json +1 -1
  478. package/examples/typescript/sliced-funnel/package.json +1 -1
  479. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  480. package/examples/typescript/sliced-pyramid/package.json +1 -1
  481. package/examples/typescript/stock-chart/README.md +6 -0
  482. package/examples/typescript/stock-chart/index.css +11 -0
  483. package/examples/typescript/stock-chart/index.html +13 -0
  484. package/examples/typescript/stock-chart/index.ts +552 -0
  485. package/examples/typescript/stock-chart/package.json +18 -0
  486. package/examples/typescript/stock-chart/tsconfig.json +12 -0
  487. package/examples/typescript/stock-chart/webpack.config.js +45 -0
  488. package/examples/typescript/stock-chart-comparing-stocks/README.md +6 -0
  489. package/examples/typescript/stock-chart-comparing-stocks/data/AAPL_day.js +255 -0
  490. package/examples/typescript/stock-chart-comparing-stocks/data/AMD_day.js +255 -0
  491. package/examples/typescript/stock-chart-comparing-stocks/data/AMZN_day.js +255 -0
  492. package/examples/typescript/stock-chart-comparing-stocks/data/GOOG_day.js +255 -0
  493. package/examples/typescript/stock-chart-comparing-stocks/data/MSFT_day.js +255 -0
  494. package/examples/typescript/stock-chart-comparing-stocks/data/NFLX_day.js +255 -0
  495. package/examples/typescript/stock-chart-comparing-stocks/data/NVDA_day.js +255 -0
  496. package/examples/typescript/stock-chart-comparing-stocks/data/TSLA_day.js +255 -0
  497. package/examples/typescript/stock-chart-comparing-stocks/index.css +11 -0
  498. package/examples/typescript/stock-chart-comparing-stocks/index.html +13 -0
  499. package/examples/typescript/stock-chart-comparing-stocks/index.ts +361 -0
  500. package/examples/typescript/stock-chart-comparing-stocks/package.json +18 -0
  501. package/examples/typescript/stock-chart-comparing-stocks/tsconfig.json +12 -0
  502. package/examples/typescript/stock-chart-comparing-stocks/webpack.config.js +45 -0
  503. package/examples/typescript/stock-chart-data-granularity/README.md +6 -0
  504. package/examples/typescript/stock-chart-data-granularity/data/MSFT_day.js +255 -0
  505. package/examples/typescript/stock-chart-data-granularity/data/MSFT_minute.js +392 -0
  506. package/examples/typescript/stock-chart-data-granularity/data/MSFT_month.js +14 -0
  507. package/examples/typescript/stock-chart-data-granularity/data/MSFT_week.js +55 -0
  508. package/examples/typescript/stock-chart-data-granularity/index.css +11 -0
  509. package/examples/typescript/stock-chart-data-granularity/index.html +13 -0
  510. package/examples/typescript/stock-chart-data-granularity/index.ts +344 -0
  511. package/examples/typescript/stock-chart-data-granularity/package.json +18 -0
  512. package/examples/typescript/stock-chart-data-granularity/tsconfig.json +12 -0
  513. package/examples/typescript/stock-chart-data-granularity/webpack.config.js +45 -0
  514. package/examples/typescript/stock-chart-data-grouping/README.md +6 -0
  515. package/examples/typescript/stock-chart-data-grouping/data/MSFT_day.js +3103 -0
  516. package/examples/typescript/stock-chart-data-grouping/index.css +11 -0
  517. package/examples/typescript/stock-chart-data-grouping/index.html +13 -0
  518. package/examples/typescript/stock-chart-data-grouping/index.ts +343 -0
  519. package/examples/typescript/stock-chart-data-grouping/package.json +18 -0
  520. package/examples/typescript/stock-chart-data-grouping/tsconfig.json +12 -0
  521. package/examples/typescript/stock-chart-data-grouping/webpack.config.js +45 -0
  522. package/examples/typescript/stock-chart-intraday/README.md +6 -0
  523. package/examples/typescript/stock-chart-intraday/index.css +11 -0
  524. package/examples/typescript/stock-chart-intraday/index.html +13 -0
  525. package/examples/typescript/stock-chart-intraday/index.ts +678 -0
  526. package/examples/typescript/stock-chart-intraday/package.json +18 -0
  527. package/examples/typescript/stock-chart-intraday/tsconfig.json +12 -0
  528. package/examples/typescript/stock-chart-intraday/webpack.config.js +45 -0
  529. package/examples/typescript/stock-chart-live/README.md +6 -0
  530. package/examples/typescript/stock-chart-live/index.css +11 -0
  531. package/examples/typescript/stock-chart-live/index.html +13 -0
  532. package/examples/typescript/stock-chart-live/index.ts +308 -0
  533. package/examples/typescript/stock-chart-live/package.json +18 -0
  534. package/examples/typescript/stock-chart-live/tsconfig.json +12 -0
  535. package/examples/typescript/stock-chart-live/webpack.config.js +45 -0
  536. package/examples/typescript/stock-chart-volume-separate-panel/README.md +6 -0
  537. package/examples/typescript/stock-chart-volume-separate-panel/index.css +11 -0
  538. package/examples/typescript/stock-chart-volume-separate-panel/index.html +13 -0
  539. package/examples/typescript/stock-chart-volume-separate-panel/index.ts +590 -0
  540. package/examples/typescript/stock-chart-volume-separate-panel/package.json +18 -0
  541. package/examples/typescript/stock-chart-volume-separate-panel/tsconfig.json +12 -0
  542. package/examples/typescript/stock-chart-volume-separate-panel/webpack.config.js +45 -0
  543. package/examples/typescript/venn-diagram/package.json +1 -1
  544. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  545. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  546. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  547. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  548. package/examples/typescript/xy-bubble/package.json +1 -1
  549. package/examples/typescript/xy-candlestick/package.json +1 -1
  550. package/examples/typescript/xy-clustered-column/package.json +1 -1
  551. package/examples/typescript/xy-column/package.json +1 -1
  552. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  553. package/examples/typescript/xy-data-grouping/package.json +1 -1
  554. package/examples/typescript/xy-draggable-range/package.json +1 -1
  555. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  556. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  557. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  558. package/examples/typescript/xy-line/package.json +1 -1
  559. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  560. package/examples/typescript/xy-live-data/package.json +1 -1
  561. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  562. package/examples/typescript/xy-ohlc/package.json +1 -1
  563. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  564. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  565. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  566. package/examples/typescript/xy-stacked-column/package.json +1 -1
  567. package/examples/typescript/xy-stacked-step/package.json +1 -1
  568. package/examples/typescript/xy-stock/package.json +1 -1
  569. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  570. package/package.json +3 -1
  571. package/stock.d.ts +64 -0
  572. package/stock.d.ts.map +1 -0
  573. package/stock.js +64 -0
  574. package/stock.js.map +1 -0
@@ -0,0 +1,443 @@
1
+ import { __extends } from "tslib";
2
+ import { Container } from "../../../core/render/Container";
3
+ import { LineSeries } from "../../xy/series/LineSeries";
4
+ import { BaseColumnSeries } from "../../xy/series/BaseColumnSeries";
5
+ import { MultiDisposer } from "../../../core/util/Disposer";
6
+ import * as $array from "../../../core/util/Array";
7
+ /**
8
+ * Base class for [[StockChart]] indicators.
9
+ *
10
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
11
+ */
12
+ var Indicator = /** @class */ (function (_super) {
13
+ __extends(Indicator, _super);
14
+ function Indicator() {
15
+ var _this = _super !== null && _super.apply(this, arguments) || this;
16
+ Object.defineProperty(_this, "_editableSettings", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: []
21
+ });
22
+ Object.defineProperty(_this, "series", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ Object.defineProperty(_this, "_dataDirty", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: false
33
+ });
34
+ Object.defineProperty(_this, "_sDP", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(_this, "_vDP", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ return _this;
47
+ }
48
+ Object.defineProperty(Indicator.prototype, "_afterNew", {
49
+ enumerable: false,
50
+ configurable: true,
51
+ writable: true,
52
+ value: function () {
53
+ _super.prototype._afterNew.call(this);
54
+ this.set("position", "absolute");
55
+ }
56
+ });
57
+ Object.defineProperty(Indicator.prototype, "_prepareChildren", {
58
+ enumerable: false,
59
+ configurable: true,
60
+ writable: true,
61
+ value: function () {
62
+ var _this = this;
63
+ _super.prototype._prepareChildren.call(this);
64
+ if (this.isDirty("stockSeries") || this.isDirty("volumeSeries")) {
65
+ this._dataDirty = true;
66
+ var stockSeries = this.get("stockSeries");
67
+ var previousS = this._prevSettings.stockSeries;
68
+ if (previousS && this._sDP) {
69
+ this._sDP.dispose();
70
+ }
71
+ if (stockSeries) {
72
+ this._sDP = new MultiDisposer([
73
+ stockSeries.events.on("datavalidated", function () {
74
+ _this.markDataDirty();
75
+ }),
76
+ stockSeries.events.on("datasetchanged", function () {
77
+ _this.markDataDirty();
78
+ })
79
+ ]);
80
+ }
81
+ var previousV = this._prevSettings.volumeSeries;
82
+ if (previousV && this._vDP) {
83
+ this._vDP.dispose();
84
+ }
85
+ var volumeSeries = this.get("volumeSeries");
86
+ if (volumeSeries) {
87
+ this._vDP = new MultiDisposer([
88
+ volumeSeries.events.on("datavalidated", function () {
89
+ _this.markDataDirty();
90
+ }),
91
+ volumeSeries.events.on("datasetchanged", function () {
92
+ _this.markDataDirty();
93
+ })
94
+ ]);
95
+ }
96
+ }
97
+ if (this.isDirty("field")) {
98
+ if (this.get("field")) {
99
+ this._dataDirty = true;
100
+ }
101
+ }
102
+ if (this.isDirty("period")) {
103
+ this._dataDirty = true;
104
+ this.setCustomData("period", this.get("period"));
105
+ }
106
+ if (this._dataDirty) {
107
+ this.prepareData();
108
+ this._dataDirty = false;
109
+ }
110
+ }
111
+ });
112
+ Object.defineProperty(Indicator.prototype, "markDataDirty", {
113
+ enumerable: false,
114
+ configurable: true,
115
+ writable: true,
116
+ value: function () {
117
+ this._dataDirty = true;
118
+ this.markDirty();
119
+ }
120
+ });
121
+ Object.defineProperty(Indicator.prototype, "_updateChildren", {
122
+ enumerable: false,
123
+ configurable: true,
124
+ writable: true,
125
+ value: function () {
126
+ _super.prototype._updateChildren.call(this);
127
+ if (this.isDirty("seriesColor")) {
128
+ this._updateSeriesColor(this.series, this.get("seriesColor"), "seriesColor");
129
+ }
130
+ this.setCustomData("period", this.get("period"));
131
+ this.setCustomData("field", this.get("field"));
132
+ this.setCustomData("name", this.get("name"));
133
+ this.setCustomData("shortName", this.get("shortName"));
134
+ }
135
+ });
136
+ Object.defineProperty(Indicator.prototype, "_dispose", {
137
+ enumerable: false,
138
+ configurable: true,
139
+ writable: true,
140
+ value: function () {
141
+ _super.prototype._dispose.call(this);
142
+ if (this._sDP) {
143
+ this._sDP.dispose();
144
+ }
145
+ if (this._vDP) {
146
+ this._vDP.dispose();
147
+ }
148
+ }
149
+ });
150
+ Object.defineProperty(Indicator.prototype, "_handleLegend", {
151
+ enumerable: false,
152
+ configurable: true,
153
+ writable: true,
154
+ value: function (series) {
155
+ var _this = this;
156
+ var legend = this.get("legend");
157
+ if (legend) {
158
+ legend.data.push(series);
159
+ var legendDataItem = legend.dataItems[legend.dataItems.length - 1];
160
+ legendDataItem.get("marker").set("forceHidden", true);
161
+ var closeButton = legendDataItem.get("closeButton");
162
+ closeButton.set("forceHidden", false);
163
+ closeButton.events.on("click", function () {
164
+ _this.dispose();
165
+ });
166
+ var settingsButton = legendDataItem.get("settingsButton");
167
+ settingsButton.setPrivate("customData", this);
168
+ }
169
+ }
170
+ });
171
+ Object.defineProperty(Indicator.prototype, "_updateSeriesColor", {
172
+ enumerable: false,
173
+ configurable: true,
174
+ writable: true,
175
+ value: function (series, color, contextName) {
176
+ if (series) {
177
+ series.set("stroke", color);
178
+ series.set("fill", color);
179
+ if (series instanceof LineSeries) {
180
+ series.strokes.template.set("stroke", color);
181
+ }
182
+ if (series instanceof BaseColumnSeries) {
183
+ series.columns.template.setAll({ stroke: color, fill: color });
184
+ }
185
+ if (contextName && color) {
186
+ this.setCustomData(contextName, color.toCSSHex());
187
+ }
188
+ }
189
+ }
190
+ });
191
+ Object.defineProperty(Indicator.prototype, "setCustomData", {
192
+ enumerable: false,
193
+ configurable: true,
194
+ writable: true,
195
+ value: function (name, value) {
196
+ var customData = this.series.getPrivate("customData");
197
+ if (customData) {
198
+ customData[name] = value;
199
+ }
200
+ }
201
+ });
202
+ /**
203
+ * @ignore
204
+ */
205
+ Object.defineProperty(Indicator.prototype, "prepareData", {
206
+ enumerable: false,
207
+ configurable: true,
208
+ writable: true,
209
+ value: function () {
210
+ }
211
+ });
212
+ Object.defineProperty(Indicator.prototype, "_getValue", {
213
+ enumerable: false,
214
+ configurable: true,
215
+ writable: true,
216
+ value: function (dataItem) {
217
+ var field = this.get("field");
218
+ var o = dataItem.get("openValueY");
219
+ var h = dataItem.get("highValueY");
220
+ var l = dataItem.get("lowValueY");
221
+ var c = dataItem.get("valueY");
222
+ switch (field) {
223
+ case "close":
224
+ return c;
225
+ break;
226
+ case "open":
227
+ return o;
228
+ break;
229
+ case "high":
230
+ return h;
231
+ break;
232
+ case "low":
233
+ return l;
234
+ break;
235
+ case "hl/2":
236
+ return (h + l) / 2;
237
+ break;
238
+ case "hlc/3":
239
+ return (h + l + c) / 3;
240
+ break;
241
+ case "hlcc/4":
242
+ return (h + l + c + c) / 4;
243
+ break;
244
+ case "ohlc/4":
245
+ return (o + h + l + c) / 4;
246
+ break;
247
+ }
248
+ }
249
+ });
250
+ /**
251
+ * @ignore
252
+ */
253
+ Object.defineProperty(Indicator.prototype, "_getDataArray", {
254
+ enumerable: false,
255
+ configurable: true,
256
+ writable: true,
257
+ value: function (dataItems) {
258
+ var _this = this;
259
+ var data = [];
260
+ $array.each(dataItems, function (dataItem) {
261
+ data.push({ valueX: dataItem.get("valueX"), value_y: _this._getValue(dataItem) });
262
+ });
263
+ return data;
264
+ }
265
+ });
266
+ /**
267
+ * @ignore
268
+ */
269
+ Object.defineProperty(Indicator.prototype, "_getTypicalPrice", {
270
+ enumerable: false,
271
+ configurable: true,
272
+ writable: true,
273
+ value: function (dataItems) {
274
+ var data = [];
275
+ $array.each(dataItems, function (dataItem) {
276
+ data.push({ valueX: dataItem.get("valueX"), value_y: (dataItem.get("valueY", 0) + dataItem.get("highValueY", 0) + dataItem.get("lowValueY", 0)) / 2 });
277
+ });
278
+ return data;
279
+ }
280
+ });
281
+ Object.defineProperty(Indicator.prototype, "_sma", {
282
+ enumerable: false,
283
+ configurable: true,
284
+ writable: true,
285
+ value: function (data, period, field, toField) {
286
+ var i = 0;
287
+ var index = 0;
288
+ var ma = 0;
289
+ $array.each(data, function (dataItem) {
290
+ var value = dataItem[field];
291
+ if (value != null) {
292
+ i++;
293
+ ma += value / period;
294
+ if (i >= period) {
295
+ if (i > period) {
296
+ var valueToRemove = data[index - period][field];
297
+ if (valueToRemove != null) {
298
+ ma -= valueToRemove / period;
299
+ }
300
+ }
301
+ dataItem[toField] = ma;
302
+ }
303
+ }
304
+ index++;
305
+ });
306
+ }
307
+ });
308
+ Object.defineProperty(Indicator.prototype, "_wma", {
309
+ enumerable: false,
310
+ configurable: true,
311
+ writable: true,
312
+ value: function (data, period, field, toField) {
313
+ var i = 0;
314
+ var index = 0;
315
+ var ma = 0;
316
+ $array.each(data, function (dataItem) {
317
+ var value = dataItem[field];
318
+ if (value != null) {
319
+ i++;
320
+ if (i >= period) {
321
+ var sum = 0;
322
+ var m = 0;
323
+ var count = 0;
324
+ var k = 0;
325
+ for (var n = index; n >= 0; n--) {
326
+ var pValue = data[n][field];
327
+ if (pValue != null) {
328
+ sum += pValue * (period - m);
329
+ count += (period - m);
330
+ k++;
331
+ }
332
+ m++;
333
+ if (k == period) {
334
+ break;
335
+ }
336
+ }
337
+ ma = sum / count;
338
+ dataItem[toField] = ma;
339
+ }
340
+ }
341
+ index++;
342
+ });
343
+ }
344
+ });
345
+ Object.defineProperty(Indicator.prototype, "_ema", {
346
+ enumerable: false,
347
+ configurable: true,
348
+ writable: true,
349
+ value: function (data, period, field, toField) {
350
+ var i = 0;
351
+ var ma = 0;
352
+ var multiplier = 2 / (1 + period);
353
+ $array.each(data, function (dataItem) {
354
+ var value = dataItem[field];
355
+ if (value != null) {
356
+ i++;
357
+ if (i > period) {
358
+ ma = value * multiplier + ma * (1 - multiplier);
359
+ dataItem[toField] = ma;
360
+ }
361
+ else {
362
+ ma += value / period;
363
+ if (i == period) {
364
+ dataItem[toField] = ma;
365
+ }
366
+ }
367
+ }
368
+ });
369
+ }
370
+ });
371
+ Object.defineProperty(Indicator.prototype, "_dema", {
372
+ enumerable: false,
373
+ configurable: true,
374
+ writable: true,
375
+ value: function (data, period, field, toField) {
376
+ var i = 0;
377
+ var ema2 = 0;
378
+ var multiplier = 2 / (1 + period);
379
+ this._ema(data, period, field, "ema");
380
+ $array.each(data, function (dataItem) {
381
+ var ema = dataItem.ema;
382
+ if (ema != null) {
383
+ i++;
384
+ if (i > period) {
385
+ ema2 = ema * multiplier + ema2 * (1 - multiplier);
386
+ dataItem[toField] = 2 * ema - ema2;
387
+ dataItem.ema2 = ema2;
388
+ }
389
+ else {
390
+ ema2 += ema / period;
391
+ if (i == period) {
392
+ dataItem[toField] = 2 * ema - ema2;
393
+ dataItem.ema2 = ema2;
394
+ }
395
+ }
396
+ }
397
+ });
398
+ }
399
+ });
400
+ Object.defineProperty(Indicator.prototype, "_tema", {
401
+ enumerable: false,
402
+ configurable: true,
403
+ writable: true,
404
+ value: function (data, period, field, toField) {
405
+ var i = 0;
406
+ var ema3 = 0;
407
+ var multiplier = 2 / (1 + period);
408
+ this._dema(data, period, field, "dema");
409
+ $array.each(data, function (dataItem) {
410
+ var ema = dataItem.ema;
411
+ var ema2 = dataItem.ema2;
412
+ if (ema2 != null) {
413
+ i++;
414
+ if (i > period) {
415
+ ema3 = ema2 * multiplier + ema3 * (1 - multiplier);
416
+ dataItem[toField] = 3 * ema - 3 * ema2 + ema3;
417
+ }
418
+ else {
419
+ ema3 += ema2 / period;
420
+ if (i == period) {
421
+ dataItem[toField] = 3 * ema - 3 * ema2 + ema3;
422
+ }
423
+ }
424
+ }
425
+ });
426
+ }
427
+ });
428
+ Object.defineProperty(Indicator, "className", {
429
+ enumerable: true,
430
+ configurable: true,
431
+ writable: true,
432
+ value: "Indicator"
433
+ });
434
+ Object.defineProperty(Indicator, "classNames", {
435
+ enumerable: true,
436
+ configurable: true,
437
+ writable: true,
438
+ value: Container.classNames.concat([Indicator.className])
439
+ });
440
+ return Indicator;
441
+ }(Container));
442
+ export { Indicator };
443
+ //# sourceMappingURL=Indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,SAAS,EAA2D,MAAM,gCAAgC,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AAmEnD;;;;GAIG;AACH;IAAwC,6BAAS;IAAjD;QAAA,qEAkWC;QA1VA;;;;mBAAwD,EAAE;WAAC;QAE3D;;;;;WAAyB;QAEzB;;;;mBAAuB,KAAK;WAAC;QAO7B;;;;;WAA+B;QAC/B;;;;;WAA+B;;IA8UhC,CAAC;;;;;eApVA;YACC,iBAAM,SAAS,WAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClC,CAAC;;;;;;eAKD;YAAA,iBAsDC;YArDA,iBAAM,gBAAgB,WAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEvB,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBACjD,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;iBACpB;gBACD,IAAI,WAAW,EAAE;oBAChB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC;wBAC7B,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE;4BACtC,KAAI,CAAC,aAAa,EAAE,CAAC;wBACtB,CAAC,CAAC;wBACF,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE;4BACvC,KAAI,CAAC,aAAa,EAAE,CAAC;wBACtB,CAAC,CAAC;qBACF,CAAC,CAAA;iBACF;gBAED,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBAClD,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;iBACpB;gBACD,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC9C,IAAI,YAAY,EAAE;oBACjB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC;wBAC7B,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE;4BACvC,KAAI,CAAC,aAAa,EAAE,CAAC;wBACtB,CAAC,CAAC;wBACF,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE;4BACxC,KAAI,CAAC,aAAa,EAAE,CAAC;wBACtB,CAAC,CAAC;qBACF,CAAC,CAAA;iBACF;aACD;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACvB;aACD;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjD;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACxB;QACF,CAAC;;;;;;eAED;YACC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC;;;;;;eAED;YACC,iBAAM,eAAe,WAAE,CAAC;YAExB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;aAC7E;YAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAExD,CAAC;;;;;;eAED;YACC,iBAAM,QAAQ,WAAE,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACpB;YACD,IAAI,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACpB;QACF,CAAC;;;;;;eAED,UAAwB,MAAgB;YAAxC,iBAiBC;YAhBA,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,MAAM,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEzB,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAEtD,IAAI,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpD,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACtC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;oBAC9B,KAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,CAAC,CAAC,CAAA;gBAEF,IAAI,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;aAC9C;QACF,CAAC;;;;;;eAED,UAA6B,MAAiB,EAAE,KAAa,EAAE,WAAoB;YAClF,IAAI,MAAM,EAAE;gBACX,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1B,IAAI,MAAM,YAAY,UAAU,EAAE;oBACjC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC7C;gBAED,IAAI,MAAM,YAAY,gBAAgB,EAAE;oBACvC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC/D;gBAED,IAAI,WAAW,IAAI,KAAK,EAAE;oBACzB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAClD;aACD;QACF,CAAC;;;;;;eAGD,UAAqB,IAAY,EAAE,KAAW;YAC7C,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,UAAU,EAAE;gBACf,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACzB;QACF,CAAC;;IAGD;;OAEG;;;;;eACH;QAEA,CAAC;;;;;;eAED,UAAoB,QAAqC;YACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAW,CAAC;YAC7C,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAW,CAAC;YAC7C,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAW,CAAC;YAC5C,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;YAEzC,QAAQ,KAAK,EAAE;gBACd,KAAK,OAAO;oBACX,OAAO,CAAC,CAAC;oBACT,MAAM;gBACP,KAAK,MAAM;oBACV,OAAO,CAAC,CAAC;oBACT,MAAM;gBACP,KAAK,MAAM;oBACV,OAAO,CAAC,CAAC;oBACT,MAAM;gBACP,KAAK,KAAK;oBACT,OAAO,CAAC,CAAC;oBACT,MAAM;gBACP,KAAK,MAAM;oBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnB,MAAM;gBACP,KAAK,OAAO;oBACX,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvB,MAAM;gBACP,KAAK,QAAQ;oBACZ,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM;gBACP,KAAK,QAAQ;oBACZ,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM;aACP;QACF,CAAC;;IAED;;OAEG;;;;;eACH,UAAwB,SAA+B;YAAvD,iBAMC;YALA,IAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,QAAQ;gBAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC;QACb,CAAC;;IAED;;OAEG;;;;;eACH,UAA2B,SAA+B;YACzD,IAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,QAAQ;gBAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxJ,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC;QACb,CAAC;;;;;;eAED,UAAe,IAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;YAC9E,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,QAAQ;gBAC1B,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,KAAK,IAAI,IAAI,EAAE;oBAClB,CAAC,EAAE,CAAC;oBACJ,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC;oBAErB,IAAI,CAAC,IAAI,MAAM,EAAE;wBAChB,IAAI,CAAC,GAAG,MAAM,EAAE;4BACf,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;4BAChD,IAAI,aAAa,IAAI,IAAI,EAAE;gCAC1B,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC;6BAC7B;yBACD;wBACD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;qBACvB;iBACD;gBACD,KAAK,EAAE,CAAC;YACT,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAe,IAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;YAC9E,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,QAAQ;gBAC1B,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,KAAK,IAAI,IAAI,EAAE;oBAClB,CAAC,EAAE,CAAC;oBACJ,IAAI,CAAC,IAAI,MAAM,EAAE;wBAChB,IAAI,GAAG,GAAG,CAAC,CAAC;wBACZ,IAAI,CAAC,GAAG,CAAC,CAAC;wBACV,IAAI,KAAK,GAAG,CAAC,CAAC;wBACd,IAAI,CAAC,GAAG,CAAC,CAAA;wBACT,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;4BAChC,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BAE5B,IAAI,MAAM,IAAI,IAAI,EAAE;gCACnB,GAAG,IAAI,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCAC7B,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCACtB,CAAC,EAAE,CAAC;6BACJ;4BACD,CAAC,EAAE,CAAC;4BAEJ,IAAI,CAAC,IAAI,MAAM,EAAE;gCAChB,MAAM;6BACN;yBACD;wBAED,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;wBACjB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;qBACvB;iBACD;gBACD,KAAK,EAAE,CAAC;YACT,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAe,IAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;YAC9E,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,QAAQ;gBAC1B,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,KAAK,IAAI,IAAI,EAAE;oBAClB,CAAC,EAAE,CAAC;oBAEJ,IAAI,CAAC,GAAG,MAAM,EAAE;wBACf,EAAE,GAAG,KAAK,GAAG,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;wBAChD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;qBACvB;yBACI;wBACJ,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC;wBACrB,IAAI,CAAC,IAAI,MAAM,EAAE;4BAChB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;yBACvB;qBACD;iBACD;YACF,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAgB,IAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;YAC/E,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEtC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,QAAQ;gBAC1B,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;gBACvB,IAAI,GAAG,IAAI,IAAI,EAAE;oBAChB,CAAC,EAAE,CAAC;oBACJ,IAAI,CAAC,GAAG,MAAM,EAAE;wBACf,IAAI,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;wBAClD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;wBACnC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;qBACrB;yBACI;wBACJ,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC;wBACrB,IAAI,CAAC,IAAI,MAAM,EAAE;4BAChB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;4BACnC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;yBACrB;qBACD;iBACD;YACF,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAgB,IAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;YAC/E,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAExC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,QAAQ;gBAC1B,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;gBACvB,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEzB,IAAI,IAAI,IAAI,IAAI,EAAE;oBACjB,CAAC,EAAE,CAAC;oBACJ,IAAI,CAAC,GAAG,MAAM,EAAE;wBACf,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;wBACnD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;qBAC9C;yBACI;wBACJ,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC;wBACtB,IAAI,CAAC,IAAI,MAAM,EAAE;4BAChB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;yBAC9C;qBACD;iBACD;YACF,CAAC,CAAC,CAAA;QACH,CAAC;;IAhWD;;;;eAAkC,WAAW;OAAC;IAC9C;;;;eAA0C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;OAAC;IAgW9F,gBAAC;CAAA,AAlWD,CAAwC,SAAS,GAkWhD;SAlWqB,SAAS","sourcesContent":["import type { XYSeries, IXYSeriesDataItem } from \"../../xy/series/XYSeries\";\r\nimport type { StockLegend } from \"../StockLegend\";\r\nimport type { StockChart } from \"../StockChart\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../../core/render/Container\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\nimport { BaseColumnSeries } from \"../../xy/series/BaseColumnSeries\";\r\nimport { MultiDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IIndicatorEditableSetting {\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tkey: string;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tname: string;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\ttype: \"color\" | \"number\" | \"dropdown\" | \"checkbox\";\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\toptions?: Array<string | { value: number | string, text: string }>;\r\n}\r\n\r\nexport interface IIndicatorSettings extends IContainerSettings {\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tstockChart: StockChart;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tstockSeries: XYSeries;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tvolumeSeries?: XYSeries;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tlegend?: StockLegend;\r\n\t/**\r\n\t * @todo review\r\n\t */\r\n\tperiod?: number;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tfield?: \"open\" | \"close\" | \"low\" | \"high\" | \"hl/2\" | \"hlc/3\" | \"hlcc/4\" | \"ohlc/4\";\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tname?: string;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tshortName?: string;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tseriesColor?: Color;\r\n}\r\n\r\nexport interface IIndicatorPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IIndicatorEvents extends IContainerEvents {\r\n\r\n}\r\n\r\n/**\r\n * Base class for [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class Indicator extends Container {\r\n\tpublic static className: string = \"Indicator\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([Indicator.className]);\r\n\r\n\tdeclare public _settings: IIndicatorSettings;\r\n\tdeclare public _privateSettings: IIndicatorPrivate;\r\n\tdeclare public _events: IIndicatorEvents;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [];\r\n\r\n\tpublic series!: XYSeries;\r\n\r\n\tprotected _dataDirty = false;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.set(\"position\", \"absolute\");\r\n\t}\r\n\r\n\tprotected _sDP?: MultiDisposer;\r\n\tprotected _vDP?: MultiDisposer;\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"stockSeries\") || this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst previousS = this._prevSettings.stockSeries;\r\n\t\t\tif (previousS && this._sDP) {\r\n\t\t\t\tthis._sDP.dispose();\r\n\t\t\t}\r\n\t\t\tif (stockSeries) {\r\n\t\t\t\tthis._sDP = new MultiDisposer([\r\n\t\t\t\t\tstockSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tstockSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t\t})\r\n\t\t\t\t])\r\n\t\t\t}\r\n\r\n\t\t\tconst previousV = this._prevSettings.volumeSeries;\r\n\t\t\tif (previousV && this._vDP) {\r\n\t\t\t\tthis._vDP.dispose();\r\n\t\t\t}\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tthis._vDP = new MultiDisposer([\r\n\t\t\t\t\tvolumeSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tvolumeSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t\t})\r\n\t\t\t\t])\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"field\")) {\r\n\t\t\tif (this.get(\"field\")) {\r\n\t\t\t\tthis._dataDirty = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"period\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\t}\r\n\r\n\t\tif (this._dataDirty) {\r\n\t\t\tthis.prepareData();\r\n\t\t\tthis._dataDirty = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected markDataDirty() {\r\n\t\tthis._dataDirty = true;\r\n\t\tthis.markDirty();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"seriesColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.series, this.get(\"seriesColor\"), \"seriesColor\");\r\n\t\t}\r\n\r\n\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\tthis.setCustomData(\"field\", this.get(\"field\"));\r\n\t\tthis.setCustomData(\"name\", this.get(\"name\"));\r\n\t\tthis.setCustomData(\"shortName\", this.get(\"shortName\"));\r\n\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\t\tif (this._sDP) {\r\n\t\t\tthis._sDP.dispose();\r\n\t\t}\r\n\t\tif (this._vDP) {\r\n\t\t\tthis._vDP.dispose();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleLegend(series: XYSeries) {\r\n\t\tconst legend = this.get(\"legend\");\r\n\t\tif (legend) {\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tvar legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tvar closeButton = legendDataItem.get(\"closeButton\");\r\n\t\t\tcloseButton.set(\"forceHidden\", false);\r\n\t\t\tcloseButton.events.on(\"click\", () => {\r\n\t\t\t\tthis.dispose();\r\n\t\t\t})\r\n\r\n\t\t\tvar settingsButton = legendDataItem.get(\"settingsButton\");\r\n\t\t\tsettingsButton.setPrivate(\"customData\", this);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateSeriesColor(series?: XYSeries, color?: Color, contextName?: string) {\r\n\t\tif (series) {\r\n\t\t\tseries.set(\"stroke\", color);\r\n\t\t\tseries.set(\"fill\", color);\r\n\t\t\tif (series instanceof LineSeries) {\r\n\t\t\t\tseries.strokes.template.set(\"stroke\", color);\r\n\t\t\t}\r\n\r\n\t\t\tif (series instanceof BaseColumnSeries) {\r\n\t\t\t\tseries.columns.template.setAll({ stroke: color, fill: color });\r\n\t\t\t}\r\n\r\n\t\t\tif (contextName && color) {\r\n\t\t\t\tthis.setCustomData(contextName, color.toCSSHex());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic setCustomData(name: string, value?: any) {\r\n\t\tconst customData = this.series.getPrivate(\"customData\");\r\n\t\tif (customData) {\r\n\t\t\tcustomData[name] = value;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\r\n\t}\r\n\r\n\tprotected _getValue(dataItem: DataItem<IXYSeriesDataItem>): number | undefined {\r\n\t\tconst field = this.get(\"field\");\r\n\r\n\t\tlet o = dataItem.get(\"openValueY\") as number;\r\n\t\tlet h = dataItem.get(\"highValueY\") as number;\r\n\t\tlet l = dataItem.get(\"lowValueY\") as number;\r\n\t\tlet c = dataItem.get(\"valueY\") as number;\r\n\r\n\t\tswitch (field) {\r\n\t\t\tcase \"close\":\r\n\t\t\t\treturn c;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"open\":\r\n\t\t\t\treturn o;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"high\":\r\n\t\t\t\treturn h;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"low\":\r\n\t\t\t\treturn l;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hl/2\":\r\n\t\t\t\treturn (h + l) / 2;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlc/3\":\r\n\t\t\t\treturn (h + l + c) / 3;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlcc/4\":\r\n\t\t\t\treturn (h + l + c + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ohlc/4\":\r\n\t\t\t\treturn (o + h + l + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getDataArray(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: this._getValue(dataItem) });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getTypicalPrice(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: (dataItem.get(\"valueY\", 0) + dataItem.get(\"highValueY\", 0) + dataItem.get(\"lowValueY\", 0)) / 2 });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprotected _sma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tma += value / period;\r\n\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tif (i > period) {\r\n\t\t\t\t\t\tlet valueToRemove = data[index - period][field];\r\n\t\t\t\t\t\tif (valueToRemove != null) {\r\n\t\t\t\t\t\t\tma -= valueToRemove / period;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _wma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet sum = 0;\r\n\t\t\t\t\tlet m = 0;\r\n\t\t\t\t\tlet count = 0;\r\n\t\t\t\t\tlet k = 0\r\n\t\t\t\t\tfor (let n = index; n >= 0; n--) {\r\n\t\t\t\t\t\tlet pValue = data[n][field];\r\n\r\n\t\t\t\t\t\tif (pValue != null) {\r\n\t\t\t\t\t\t\tsum += pValue * (period - m);\r\n\t\t\t\t\t\t\tcount += (period - m);\r\n\t\t\t\t\t\t\tk++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tm++;\r\n\r\n\t\t\t\t\t\tif (k == period) {\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tma = sum / count;\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _ema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ma = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tma = value * multiplier + ma * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tma += value / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _dema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema2 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._ema(data, period, field, \"ema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tif (ema != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema2 = ema * multiplier + ema2 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema2 += ema / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _tema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema3 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._dema(data, period, field, \"dema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tlet ema2 = dataItem.ema2;\r\n\r\n\t\t\tif (ema2 != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema3 = ema2 * multiplier + ema3 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema3 += ema2 / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}"]}
@@ -0,0 +1,70 @@
1
+ import type { IIndicatorEditableSetting } from "./Indicator";
2
+ import { Color } from "../../../core/util/Color";
3
+ import { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from "./ChartIndicator";
4
+ import { LineSeries } from "../../xy/series/LineSeries";
5
+ import { ColumnSeries } from "../../xy/series/ColumnSeries";
6
+ export interface IMACDSettings extends IChartIndicatorSettings {
7
+ /**
8
+ * @todo review
9
+ */
10
+ increasingColor?: Color;
11
+ /**
12
+ * @todo review
13
+ */
14
+ decreasingColor?: Color;
15
+ /**
16
+ * @todo review
17
+ */
18
+ signalColor?: Color;
19
+ /**
20
+ * @todo review
21
+ */
22
+ fastPeriod?: number;
23
+ /**
24
+ * @todo review
25
+ */
26
+ slowPeriod?: number;
27
+ /**
28
+ * @todo review
29
+ */
30
+ signalPeriod?: number;
31
+ }
32
+ export interface IMACDPrivate extends IChartIndicatorPrivate {
33
+ }
34
+ export interface IMACDEvents extends IChartIndicatorEvents {
35
+ }
36
+ /**
37
+ * An implementation of a [[StockChart]] indicator.
38
+ *
39
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
40
+ */
41
+ export declare class MACD extends ChartIndicator {
42
+ static className: string;
43
+ static classNames: Array<string>;
44
+ _settings: IMACDSettings;
45
+ _privateSettings: IMACDPrivate;
46
+ _events: IMACDEvents;
47
+ /**
48
+ * Indicator series.
49
+ */
50
+ series: LineSeries;
51
+ /**
52
+ * Indicator series for the signal.
53
+ */
54
+ signalSeries: LineSeries;
55
+ /**
56
+ * Indicator series for the difference.
57
+ */
58
+ differenceSeries: ColumnSeries;
59
+ _editableSettings: IIndicatorEditableSetting[];
60
+ protected _themeTag: string;
61
+ _createSeries(): LineSeries;
62
+ protected _afterNew(): void;
63
+ _prepareChildren(): void;
64
+ _updateChildren(): void;
65
+ /**
66
+ * @ignore
67
+ */
68
+ prepareData(): void;
69
+ }
70
+ //# sourceMappingURL=MACD.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MACD.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MACD.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAS,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI5D,MAAM,WAAW,aAAc,SAAQ,uBAAuB;IAC7D;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CAEtB;AAED,MAAM,WAAW,YAAa,SAAQ,sBAAsB;CAC3D;AAED,MAAM,WAAW,WAAY,SAAQ,qBAAqB;CACzD;AAED;;;;GAIG;AACH,qBAAa,IAAK,SAAQ,cAAc;IACvC,OAAc,SAAS,EAAE,MAAM,CAAU;IACzC,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE9E,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC;IAEpC;;OAEG;IACY,MAAM,EAAE,UAAU,CAAC;IAElC;;OAEG;IACI,YAAY,EAAG,UAAU,CAAC;IAEjC;;OAEG;IACI,gBAAgB,EAAG,YAAY,CAAC;IAEhC,iBAAiB,EAAE,yBAAyB,EAAE,CA4BlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAU;IAE9B,aAAa,IAAI,UAAU;IAYlC,SAAS,CAAC,SAAS;IAgCZ,gBAAgB;IAUhB,eAAe;IAqCtB;;OAEG;IACI,WAAW;CAkDlB"}