@amcharts/amcharts5 5.2.18 → 5.2.21

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 (312) hide show
  1. package/.internal/charts/hierarchy/Hierarchy.d.ts +7 -1
  2. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  3. package/.internal/charts/hierarchy/Hierarchy.js +12 -4
  4. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  5. package/.internal/charts/map/MapChart.d.ts +8 -0
  6. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  7. package/.internal/charts/map/MapChart.js +15 -0
  8. package/.internal/charts/map/MapChart.js.map +1 -1
  9. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
  10. package/.internal/charts/stock/SettingsModal.js +4 -3
  11. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  12. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
  13. package/.internal/charts/stock/StockChartDefaultTheme.js +69 -17
  14. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  15. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
  16. package/.internal/charts/stock/drawing/CalloutSeries.js +8 -1
  17. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
  18. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +11 -10
  19. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  20. package/.internal/charts/stock/drawing/DrawingSeries.js +24 -4
  21. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  22. package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -1
  23. package/.internal/charts/stock/drawing/EllipseSeries.js +11 -9
  24. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
  25. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +3 -0
  26. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -1
  27. package/.internal/charts/stock/drawing/FibonacciSeries.js +30 -0
  28. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
  29. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
  30. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +6 -4
  31. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
  32. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
  33. package/.internal/charts/stock/drawing/IconSeries.js +13 -5
  34. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  35. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -1
  36. package/.internal/charts/stock/drawing/LabelSeries.js +22 -14
  37. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  38. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
  39. package/.internal/charts/stock/drawing/PolylineSeries.js +9 -7
  40. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
  41. package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts.map +1 -1
  42. package/.internal/charts/stock/drawing/QuadrantLineSeries.js +52 -50
  43. package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -1
  44. package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -1
  45. package/.internal/charts/stock/drawing/RectangleSeries.js +12 -10
  46. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
  47. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
  48. package/.internal/charts/stock/drawing/SimpleLineSeries.js +6 -3
  49. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  50. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts.map +1 -1
  51. package/.internal/charts/stock/indicators/AccumulationDistribution.js +1 -0
  52. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -1
  53. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -1
  54. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +1 -0
  55. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
  56. package/.internal/charts/stock/indicators/Aroon.d.ts.map +1 -1
  57. package/.internal/charts/stock/indicators/Aroon.js +2 -0
  58. package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
  59. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -1
  60. package/.internal/charts/stock/indicators/AwesomeOscillator.js +1 -0
  61. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
  62. package/.internal/charts/stock/indicators/BollingerBands.js +2 -2
  63. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  64. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts.map +1 -1
  65. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +1 -0
  66. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
  67. package/.internal/charts/stock/indicators/ChaikinOscillator.d.ts.map +1 -1
  68. package/.internal/charts/stock/indicators/ChaikinOscillator.js +1 -0
  69. package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -1
  70. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  71. package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts.map +1 -1
  72. package/.internal/charts/stock/indicators/CommodityChannelIndex.js +1 -0
  73. package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
  74. package/.internal/charts/stock/indicators/DisparityIndex.d.ts.map +1 -1
  75. package/.internal/charts/stock/indicators/DisparityIndex.js +1 -0
  76. package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -1
  77. package/.internal/charts/stock/indicators/MACD.d.ts.map +1 -1
  78. package/.internal/charts/stock/indicators/MACD.js +3 -2
  79. package/.internal/charts/stock/indicators/MACD.js.map +1 -1
  80. package/.internal/charts/stock/indicators/MedianPrice.d.ts +33 -0
  81. package/.internal/charts/stock/indicators/MedianPrice.d.ts.map +1 -0
  82. package/.internal/charts/stock/indicators/MedianPrice.js +104 -0
  83. package/.internal/charts/stock/indicators/MedianPrice.js.map +1 -0
  84. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -1
  85. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +1 -0
  86. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  87. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +2 -2
  88. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  89. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts.map +1 -1
  90. package/.internal/charts/stock/indicators/OnBalanceVolume.js +1 -0
  91. package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -1
  92. package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts.map +1 -1
  93. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +1 -0
  94. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
  95. package/.internal/charts/stock/indicators/StandardDeviation.d.ts +33 -0
  96. package/.internal/charts/stock/indicators/StandardDeviation.d.ts.map +1 -0
  97. package/.internal/charts/stock/indicators/StandardDeviation.js +108 -0
  98. package/.internal/charts/stock/indicators/StandardDeviation.js.map +1 -0
  99. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts +2 -2
  100. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts.map +1 -1
  101. package/.internal/charts/stock/indicators/StochasticOscillator.js +2 -1
  102. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
  103. package/.internal/charts/stock/indicators/Trix.d.ts +49 -0
  104. package/.internal/charts/stock/indicators/Trix.d.ts.map +1 -0
  105. package/.internal/charts/stock/indicators/Trix.js +174 -0
  106. package/.internal/charts/stock/indicators/Trix.js.map +1 -0
  107. package/.internal/charts/stock/indicators/TypicalPrice.d.ts +33 -0
  108. package/.internal/charts/stock/indicators/TypicalPrice.d.ts.map +1 -0
  109. package/.internal/charts/stock/indicators/TypicalPrice.js +104 -0
  110. package/.internal/charts/stock/indicators/TypicalPrice.js.map +1 -0
  111. package/.internal/charts/stock/indicators/VWAP.js.map +1 -1
  112. package/.internal/charts/stock/indicators/Volume.d.ts.map +1 -1
  113. package/.internal/charts/stock/indicators/Volume.js +1 -0
  114. package/.internal/charts/stock/indicators/Volume.js.map +1 -1
  115. package/.internal/charts/stock/indicators/WilliamsR.d.ts.map +1 -1
  116. package/.internal/charts/stock/indicators/WilliamsR.js +1 -0
  117. package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
  118. package/.internal/charts/stock/toolbar/DropdownList.js +1 -1
  119. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  120. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +1 -1
  121. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
  122. package/.internal/charts/stock/toolbar/IndicatorControl.js +32 -0
  123. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
  124. package/.internal/charts/stock/toolbar/StockControl.d.ts.map +1 -1
  125. package/.internal/charts/stock/toolbar/StockControl.js +2 -0
  126. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  127. package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -1
  128. package/.internal/charts/stock/toolbar/StockIcons.js +1 -0
  129. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
  130. package/.internal/charts/xy/XYChart.d.ts +17 -3
  131. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  132. package/.internal/charts/xy/XYChart.js +18 -6
  133. package/.internal/charts/xy/XYChart.js.map +1 -1
  134. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  135. package/.internal/charts/xy/XYChartDefaultTheme.js +6 -1
  136. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  137. package/.internal/charts/xy/XYCursor.d.ts +11 -1
  138. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  139. package/.internal/charts/xy/XYCursor.js +20 -24
  140. package/.internal/charts/xy/XYCursor.js.map +1 -1
  141. package/.internal/charts/xy/axes/Axis.d.ts +1 -2
  142. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  143. package/.internal/charts/xy/axes/Axis.js +3 -1
  144. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  145. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  146. package/.internal/charts/xy/axes/CategoryAxis.js +25 -0
  147. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  148. package/.internal/charts/xy/axes/ValueAxis.d.ts +11 -0
  149. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  150. package/.internal/charts/xy/axes/ValueAxis.js +1 -1
  151. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  152. package/.internal/charts/xy/series/XYSeries.d.ts +2 -2
  153. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  154. package/.internal/charts/xy/series/XYSeries.js +47 -35
  155. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  156. package/.internal/core/Classes.d.ts +8 -0
  157. package/.internal/core/Classes.d.ts.map +1 -1
  158. package/.internal/core/Classes.js.map +1 -1
  159. package/.internal/core/Root.d.ts.map +1 -1
  160. package/.internal/core/Root.js +9 -6
  161. package/.internal/core/Root.js.map +1 -1
  162. package/.internal/core/render/PointedRectangle.js +2 -2
  163. package/.internal/core/render/PointedRectangle.js.map +1 -1
  164. package/.internal/core/render/SpriteResizer.d.ts.map +1 -1
  165. package/.internal/core/render/SpriteResizer.js +2 -0
  166. package/.internal/core/render/SpriteResizer.js.map +1 -1
  167. package/.internal/core/render/backend/CanvasRenderer.js +4 -4
  168. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  169. package/CHANGELOG.md +48 -0
  170. package/examples/javascript/flow-chord/package.json +1 -1
  171. package/examples/javascript/flow-chord-directed/package.json +1 -1
  172. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  173. package/examples/javascript/flow-sankey/package.json +1 -1
  174. package/examples/javascript/gauge/package.json +1 -1
  175. package/examples/javascript/gauge-bands/package.json +1 -1
  176. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  177. package/examples/javascript/hierarchy-pack/package.json +1 -1
  178. package/examples/javascript/hierarchy-partition/package.json +1 -1
  179. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  180. package/examples/javascript/hierarchy-tree/package.json +1 -1
  181. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  182. package/examples/javascript/jest/package.json +1 -1
  183. package/examples/javascript/json/package.json +1 -1
  184. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  185. package/examples/javascript/map-day-and-night/package.json +1 -1
  186. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  187. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  188. package/examples/javascript/map-with-bubbles/package.json +1 -1
  189. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  190. package/examples/javascript/misc-40-charts/package.json +1 -1
  191. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  192. package/examples/javascript/pie-chart/package.json +1 -1
  193. package/examples/javascript/pie-donut-chart/package.json +1 -1
  194. package/examples/javascript/pie-variable-radius/package.json +1 -1
  195. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  196. package/examples/javascript/radar-heat-map/package.json +1 -1
  197. package/examples/javascript/radar-line/package.json +1 -1
  198. package/examples/javascript/radar-time-line/package.json +1 -1
  199. package/examples/javascript/sliced-funnel/package.json +1 -1
  200. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  201. package/examples/javascript/sliced-pyramid/package.json +1 -1
  202. package/examples/javascript/stock-chart/package.json +1 -1
  203. package/examples/javascript/stock-chart-comparing-stocks/index.js +30 -0
  204. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  205. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  206. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  207. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  208. package/examples/javascript/stock-chart-live/package.json +1 -1
  209. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  210. package/examples/javascript/venn-diagram/package.json +1 -1
  211. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  212. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  213. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  214. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  215. package/examples/javascript/xy-bubble/package.json +1 -1
  216. package/examples/javascript/xy-candlestick/package.json +1 -1
  217. package/examples/javascript/xy-clustered-column/package.json +1 -1
  218. package/examples/javascript/xy-column/package.json +1 -1
  219. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  220. package/examples/javascript/xy-data-grouping/package.json +1 -1
  221. package/examples/javascript/xy-draggable-range/package.json +1 -1
  222. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  223. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  224. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  225. package/examples/javascript/xy-line/package.json +1 -1
  226. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  227. package/examples/javascript/xy-live-data/package.json +1 -1
  228. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  229. package/examples/javascript/xy-ohlc/package.json +1 -1
  230. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  231. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  232. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  233. package/examples/javascript/xy-stacked-column/package.json +1 -1
  234. package/examples/javascript/xy-stacked-step/package.json +1 -1
  235. package/examples/javascript/xy-stock/package.json +1 -1
  236. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  237. package/examples/typescript/flow-chord/package.json +1 -1
  238. package/examples/typescript/flow-chord-directed/package.json +1 -1
  239. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  240. package/examples/typescript/flow-sankey/package.json +1 -1
  241. package/examples/typescript/gauge/package.json +1 -1
  242. package/examples/typescript/gauge-bands/package.json +1 -1
  243. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  244. package/examples/typescript/hierarchy-pack/package.json +1 -1
  245. package/examples/typescript/hierarchy-partition/package.json +1 -1
  246. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  247. package/examples/typescript/hierarchy-tree/package.json +1 -1
  248. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  249. package/examples/typescript/jest/package.json +1 -1
  250. package/examples/typescript/json/package.json +1 -1
  251. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  252. package/examples/typescript/map-day-and-night/package.json +1 -1
  253. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  254. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  255. package/examples/typescript/map-with-bubbles/package.json +1 -1
  256. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  257. package/examples/typescript/misc-40-charts/package.json +1 -1
  258. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  259. package/examples/typescript/pie-chart/package.json +1 -1
  260. package/examples/typescript/pie-donut-chart/package.json +1 -1
  261. package/examples/typescript/pie-variable-radius/package.json +1 -1
  262. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  263. package/examples/typescript/radar-heat-map/package.json +1 -1
  264. package/examples/typescript/radar-line/package.json +1 -1
  265. package/examples/typescript/radar-time-line/package.json +1 -1
  266. package/examples/typescript/sliced-funnel/package.json +1 -1
  267. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  268. package/examples/typescript/sliced-pyramid/package.json +1 -1
  269. package/examples/typescript/stock-chart/package.json +1 -1
  270. package/examples/typescript/stock-chart-comparing-stocks/index.ts +30 -0
  271. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  272. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  273. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  274. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  275. package/examples/typescript/stock-chart-live/package.json +1 -1
  276. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  277. package/examples/typescript/venn-diagram/package.json +1 -1
  278. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  279. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  280. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  281. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  282. package/examples/typescript/xy-bubble/package.json +1 -1
  283. package/examples/typescript/xy-candlestick/package.json +1 -1
  284. package/examples/typescript/xy-clustered-column/package.json +1 -1
  285. package/examples/typescript/xy-column/package.json +1 -1
  286. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  287. package/examples/typescript/xy-data-grouping/package.json +1 -1
  288. package/examples/typescript/xy-draggable-range/package.json +1 -1
  289. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  290. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  291. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  292. package/examples/typescript/xy-line/package.json +1 -1
  293. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  294. package/examples/typescript/xy-live-data/package.json +1 -1
  295. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  296. package/examples/typescript/xy-ohlc/package.json +1 -1
  297. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  298. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  299. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  300. package/examples/typescript/xy-stacked-column/package.json +1 -1
  301. package/examples/typescript/xy-stacked-step/package.json +1 -1
  302. package/examples/typescript/xy-stock/package.json +1 -1
  303. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  304. package/index.d.ts +1 -0
  305. package/index.d.ts.map +1 -1
  306. package/index.js +1 -0
  307. package/index.js.map +1 -1
  308. package/package.json +1 -1
  309. package/stock.d.ts +4 -0
  310. package/stock.d.ts.map +1 -1
  311. package/stock.js +4 -0
  312. package/stock.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StochasticOscillator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/StochasticOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAE7E;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB;CAC3E;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;CACzE;AAGD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,OAAc,SAAS,EAAE,MAAM,CAA0B;IACzD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsE;IAE9F,SAAS,EAAE,6BAA6B,CAAC;IACzC,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,OAAO,EAAE,2BAA2B,CAAC;IAE7C,UAAU,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE/C;;OAEG;IACY,MAAM,EAAE,UAAU,CAAC;IAElC;;OAEG;IACI,UAAU,EAAG,UAAU,CAAC;IAExB,iBAAiB,EAAE,yBAAyB,EAAE,CA4BlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAgB;IAE3C,SAAS,CAAC,SAAS;IAkDZ,aAAa,IAAI,UAAU;IAW3B,gBAAgB;IAOhB,eAAe;IA+BtB;;OAEG;IACI,WAAW;CAoDlB"}
1
+ {"version":3,"file":"StochasticOscillator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/StochasticOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAE7E;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB;CAC3E;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;CACzE;AAGD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,OAAc,SAAS,EAAE,MAAM,CAA0B;IACzD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsE;IAE9F,SAAS,EAAE,6BAA6B,CAAC;IACzC,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,OAAO,EAAE,2BAA2B,CAAC;IAE7C,UAAU,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE/C;;OAEG;IACY,MAAM,EAAE,UAAU,CAAC;IAElC;;OAEG;IACI,UAAU,EAAG,UAAU,CAAC;IAExB,iBAAiB,EAAE,yBAAyB,EAAE,CA4BlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAgB;IAE3C,SAAS,CAAC,SAAS;IAkDZ,aAAa,IAAI,UAAU;IAY3B,gBAAgB;IAOhB,eAAe;IA+BtB;;OAEG;IACI,WAAW;CAoDlB"}
@@ -114,7 +114,7 @@ var StochasticOscillator = /** @class */ (function (_super) {
114
114
  xAxis: this.xAxis,
115
115
  yAxis: this.yAxis,
116
116
  groupDataDisabled: true,
117
- themeTags: ["slow"]
117
+ themeTags: ["indicator", "slow"]
118
118
  }));
119
119
  this.slowSeries = slowSeries;
120
120
  }
@@ -125,6 +125,7 @@ var StochasticOscillator = /** @class */ (function (_super) {
125
125
  writable: true,
126
126
  value: function () {
127
127
  return this.panel.series.push(LineSeries.new(this._root, {
128
+ themeTags: ["indicator"],
128
129
  xAxis: this.xAxis,
129
130
  yAxis: this.yAxis,
130
131
  valueXField: "valueX",
@@ -1 +1 @@
1
- {"version":3,"file":"StochasticOscillator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/StochasticOscillator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { IValueAxisDataItem } from \"../../xy/axes/ValueAxis\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IStochasticOscillatorSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * A value for \"overbought\" threshold.\r\n\t */\r\n\toverBought?: number;\r\n\r\n\t/**\r\n\t * A value for \"oversold\" threshold.\r\n\t */\r\n\toverSold?: number;\r\n\r\n\t/**\r\n\t * A color for \"slow\" section.\r\n\t */\r\n\tslowColor?: Color;\r\n\r\n\t/**\r\n\t * @todo review\r\n\t */\r\n\tkSmoothing?: number;\r\n\r\n\t/**\r\n\t * @todo review\r\n\t */\r\n\tdSmoothing?: number;\r\n\r\n}\r\n\r\nexport interface IStochasticOscillatorPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IStochasticOscillatorEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class StochasticOscillator extends ChartIndicator {\r\n\tpublic static className: string = \"StochasticOscillator\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([StochasticOscillator.className]);\r\n\r\n\tdeclare public _settings: IStochasticOscillatorSettings;\r\n\tdeclare public _privateSettings: IStochasticOscillatorPrivate;\r\n\tdeclare public _events: IStochasticOscillatorEvents;\r\n\r\n\tpublic overBought!: DataItem<IValueAxisDataItem>;\r\n\tpublic overSold!: DataItem<IValueAxisDataItem>;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tpublic slowSeries!: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"kSmoothing\",\r\n\t\tname: this.root.language.translateAny(\"%K Smoothing\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"dSmoothing\",\r\n\t\tname: this.root.language.translateAny(\"%D Smoothing\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overBought\",\r\n\t\tname: this.root.language.translateAny(\"Overbought\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overSold\",\r\n\t\tname: this.root.language.translateAny(\"Oversold\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Fast\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"slowColor\",\r\n\t\tname: this.root.language.translateAny(\"Slow\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _themeTag: string = \"stochastic\";\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.yAxis.setAll({ min: 0, max: 100, strictMinMax: true });\r\n\r\n\t\t// overbought range\r\n\t\tconst overBought = this.yAxis.makeDataItem({});\r\n\t\tthis.overBought = overBought;\r\n\t\tthis.yAxis.createAxisRange(overBought);\r\n\r\n\t\tconst overBoughtGrid = overBought.get(\"grid\");\r\n\t\tif (overBoughtGrid) {\r\n\t\t\toverBoughtGrid.setAll({ themeTags: [\"overbought\"], visible: true });\r\n\t\t\toverBoughtGrid._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst overBoughtLabel = overBought.get(\"label\");\r\n\t\tif (overBoughtLabel) {\r\n\t\t\toverBoughtLabel.setAll({ themeTags: [\"overbought\"], visible: true, location: 0 });\r\n\t\t\toverBoughtLabel._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst overSold = this.yAxis.makeDataItem({});\r\n\t\tthis.overSold = overSold;\r\n\t\tthis.yAxis.createAxisRange(overSold);\r\n\r\n\t\tconst overSoldGrid = overSold.get(\"grid\");\r\n\t\tif (overSoldGrid) {\r\n\t\t\toverSoldGrid.setAll({ themeTags: [\"oversold\"], visible: true });\r\n\t\t\toverSoldGrid._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst overSoldLabel = overSold.get(\"label\");\r\n\t\tif (overSoldLabel) {\r\n\t\t\toverSoldLabel.setAll({ themeTags: [\"oversold\"], visible: true, location: 0 });\r\n\t\t\toverSoldLabel._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst slowSeries = this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"slow\",\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tgroupDataDisabled: true,\r\n\t\t\tthemeTags: [\"slow\"]\r\n\t\t}))\r\n\r\n\t\tthis.slowSeries = slowSeries;\r\n\t}\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"fast\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"kSmoothing\") || this.isDirty(\"dSmoothing\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst overSoldValue = this.get(\"overSold\", 20);\r\n\t\tconst overBoughtValue = this.get(\"overBought\", 80);\r\n\r\n\t\tif (this.isDirty(\"overBought\")) {\r\n\t\t\tthis.overBought.set(\"value\", overBoughtValue);\r\n\r\n\t\t\tconst label = this.overBought.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tlabel.set(\"text\", this.getNumberFormatter().format(overBoughtValue));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"overSold\")) {\r\n\t\t\tthis.overSold.set(\"value\", overSoldValue);\r\n\r\n\t\t\tconst label = this.overSold.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tlabel.set(\"text\", this.getNumberFormatter().format(overSoldValue));\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.series.get(\"yAxis\").set(\"baseValue\", overSoldValue + (overBoughtValue - overSoldValue) / 2);\r\n\r\n\t\tif (this.isDirty(\"slowColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.slowSeries, this.get(\"slowColor\"), \"slowColor\")\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\t\t\tlet period = this.get(\"period\", 14);\r\n\t\t\tlet data: Array<any> = [];\r\n\t\t\tlet index = 0;\r\n\r\n\t\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\t\tconst valueX = dataItem.get(\"valueX\");\r\n\t\t\t\tlet k;\r\n\t\t\t\tif (index >= period - 1) {\r\n\t\t\t\t\tlet value = this._getValue(dataItem);\r\n\r\n\t\t\t\t\tif (value != null) {\r\n\t\t\t\t\t\tlet lp = Infinity;\r\n\t\t\t\t\t\tlet hp = -lp;\r\n\t\t\t\t\t\tfor (let j = index; j > index - period; j--) {\r\n\t\t\t\t\t\t\tlet h = dataItems[j].get(\"highValueY\");\r\n\t\t\t\t\t\t\tlet l = dataItems[j].get(\"lowValueY\");\r\n\r\n\t\t\t\t\t\t\tif (h != null && l != null) {\r\n\t\t\t\t\t\t\t\tif (l < lp) {\r\n\t\t\t\t\t\t\t\t\tlp = l;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (h > hp) {\r\n\t\t\t\t\t\t\t\t\thp = h;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tk = (value - lp) / (hp - lp) * 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (k == null) {\r\n\t\t\t\t\tdata.push({ valueX: valueX });\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdata.push({ valueX: valueX, value_y: k });\r\n\t\t\t\t}\r\n\t\t\t\tindex++;\r\n\t\t\t})\r\n\r\n\t\t\tperiod = this.get(\"kSmoothing\", 1);\r\n\t\t\tthis._sma(data, period, \"value_y\", \"fast\");\r\n\r\n\t\t\tperiod = this.get(\"dSmoothing\", 3);\r\n\t\t\tthis._sma(data, period, \"fast\", \"slow\");\r\n\r\n\t\t\tthis.series.data.setAll(data);\r\n\t\t\tthis.slowSeries.data.setAll(data);\r\n\t\t}\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"StochasticOscillator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/StochasticOscillator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { IValueAxisDataItem } from \"../../xy/axes/ValueAxis\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IStochasticOscillatorSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * A value for \"overbought\" threshold.\r\n\t */\r\n\toverBought?: number;\r\n\r\n\t/**\r\n\t * A value for \"oversold\" threshold.\r\n\t */\r\n\toverSold?: number;\r\n\r\n\t/**\r\n\t * A color for \"slow\" section.\r\n\t */\r\n\tslowColor?: Color;\r\n\r\n\t/**\r\n\t * Smoothing \"k\" parameter.\r\n\t */\r\n\tkSmoothing?: number;\r\n\r\n\t/**\r\n\t * Smoothing \"d\" parameter.\r\n\t */\r\n\tdSmoothing?: number;\r\n\r\n}\r\n\r\nexport interface IStochasticOscillatorPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IStochasticOscillatorEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class StochasticOscillator extends ChartIndicator {\r\n\tpublic static className: string = \"StochasticOscillator\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([StochasticOscillator.className]);\r\n\r\n\tdeclare public _settings: IStochasticOscillatorSettings;\r\n\tdeclare public _privateSettings: IStochasticOscillatorPrivate;\r\n\tdeclare public _events: IStochasticOscillatorEvents;\r\n\r\n\tpublic overBought!: DataItem<IValueAxisDataItem>;\r\n\tpublic overSold!: DataItem<IValueAxisDataItem>;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tpublic slowSeries!: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"kSmoothing\",\r\n\t\tname: this.root.language.translateAny(\"%K Smoothing\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"dSmoothing\",\r\n\t\tname: this.root.language.translateAny(\"%D Smoothing\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overBought\",\r\n\t\tname: this.root.language.translateAny(\"Overbought\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overSold\",\r\n\t\tname: this.root.language.translateAny(\"Oversold\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Fast\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"slowColor\",\r\n\t\tname: this.root.language.translateAny(\"Slow\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _themeTag: string = \"stochastic\";\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.yAxis.setAll({ min: 0, max: 100, strictMinMax: true });\r\n\r\n\t\t// overbought range\r\n\t\tconst overBought = this.yAxis.makeDataItem({});\r\n\t\tthis.overBought = overBought;\r\n\t\tthis.yAxis.createAxisRange(overBought);\r\n\r\n\t\tconst overBoughtGrid = overBought.get(\"grid\");\r\n\t\tif (overBoughtGrid) {\r\n\t\t\toverBoughtGrid.setAll({ themeTags: [\"overbought\"], visible: true });\r\n\t\t\toverBoughtGrid._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst overBoughtLabel = overBought.get(\"label\");\r\n\t\tif (overBoughtLabel) {\r\n\t\t\toverBoughtLabel.setAll({ themeTags: [\"overbought\"], visible: true, location: 0 });\r\n\t\t\toverBoughtLabel._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst overSold = this.yAxis.makeDataItem({});\r\n\t\tthis.overSold = overSold;\r\n\t\tthis.yAxis.createAxisRange(overSold);\r\n\r\n\t\tconst overSoldGrid = overSold.get(\"grid\");\r\n\t\tif (overSoldGrid) {\r\n\t\t\toverSoldGrid.setAll({ themeTags: [\"oversold\"], visible: true });\r\n\t\t\toverSoldGrid._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst overSoldLabel = overSold.get(\"label\");\r\n\t\tif (overSoldLabel) {\r\n\t\t\toverSoldLabel.setAll({ themeTags: [\"oversold\"], visible: true, location: 0 });\r\n\t\t\toverSoldLabel._applyThemes();\r\n\t\t}\r\n\r\n\t\tconst slowSeries = this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"slow\",\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tgroupDataDisabled: true,\r\n\t\t\tthemeTags: [\"indicator\", \"slow\"]\r\n\t\t}))\r\n\r\n\t\tthis.slowSeries = slowSeries;\r\n\t}\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"fast\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"kSmoothing\") || this.isDirty(\"dSmoothing\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst overSoldValue = this.get(\"overSold\", 20);\r\n\t\tconst overBoughtValue = this.get(\"overBought\", 80);\r\n\r\n\t\tif (this.isDirty(\"overBought\")) {\r\n\t\t\tthis.overBought.set(\"value\", overBoughtValue);\r\n\r\n\t\t\tconst label = this.overBought.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tlabel.set(\"text\", this.getNumberFormatter().format(overBoughtValue));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"overSold\")) {\r\n\t\t\tthis.overSold.set(\"value\", overSoldValue);\r\n\r\n\t\t\tconst label = this.overSold.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tlabel.set(\"text\", this.getNumberFormatter().format(overSoldValue));\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.series.get(\"yAxis\").set(\"baseValue\", overSoldValue + (overBoughtValue - overSoldValue) / 2);\r\n\r\n\t\tif (this.isDirty(\"slowColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.slowSeries, this.get(\"slowColor\"), \"slowColor\")\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\t\t\tlet period = this.get(\"period\", 14);\r\n\t\t\tlet data: Array<any> = [];\r\n\t\t\tlet index = 0;\r\n\r\n\t\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\t\tconst valueX = dataItem.get(\"valueX\");\r\n\t\t\t\tlet k;\r\n\t\t\t\tif (index >= period - 1) {\r\n\t\t\t\t\tlet value = this._getValue(dataItem);\r\n\r\n\t\t\t\t\tif (value != null) {\r\n\t\t\t\t\t\tlet lp = Infinity;\r\n\t\t\t\t\t\tlet hp = -lp;\r\n\t\t\t\t\t\tfor (let j = index; j > index - period; j--) {\r\n\t\t\t\t\t\t\tlet h = dataItems[j].get(\"highValueY\");\r\n\t\t\t\t\t\t\tlet l = dataItems[j].get(\"lowValueY\");\r\n\r\n\t\t\t\t\t\t\tif (h != null && l != null) {\r\n\t\t\t\t\t\t\t\tif (l < lp) {\r\n\t\t\t\t\t\t\t\t\tlp = l;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (h > hp) {\r\n\t\t\t\t\t\t\t\t\thp = h;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tk = (value - lp) / (hp - lp) * 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (k == null) {\r\n\t\t\t\t\tdata.push({ valueX: valueX });\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdata.push({ valueX: valueX, value_y: k });\r\n\t\t\t\t}\r\n\t\t\t\tindex++;\r\n\t\t\t})\r\n\r\n\t\t\tperiod = this.get(\"kSmoothing\", 1);\r\n\t\t\tthis._sma(data, period, \"value_y\", \"fast\");\r\n\r\n\t\t\tperiod = this.get(\"dSmoothing\", 3);\r\n\t\t\tthis._sma(data, period, \"fast\", \"slow\");\r\n\r\n\t\t\tthis.series.data.setAll(data);\r\n\t\t\tthis.slowSeries.data.setAll(data);\r\n\t\t}\r\n\t}\r\n}"]}
@@ -0,0 +1,49 @@
1
+ import type { IIndicatorEditableSetting } from "./Indicator";
2
+ import { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from "./ChartIndicator";
3
+ import { LineSeries } from "../../xy/series/LineSeries";
4
+ import type { Color } from "../../../core/util/Color";
5
+ export interface ITrixSettings extends IChartIndicatorSettings {
6
+ /**
7
+ * Signal color.
8
+ */
9
+ signalColor?: Color;
10
+ /**
11
+ * A value for "signal" period.
12
+ */
13
+ signalPeriod?: number;
14
+ }
15
+ export interface ITrixPrivate extends IChartIndicatorPrivate {
16
+ }
17
+ export interface ITrixEvents extends IChartIndicatorEvents {
18
+ }
19
+ /**
20
+ * An implementation of a [[StockChart]] indicator.
21
+ *
22
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
23
+ */
24
+ export declare class Trix extends ChartIndicator {
25
+ static className: string;
26
+ static classNames: Array<string>;
27
+ _settings: ITrixSettings;
28
+ _privateSettings: ITrixPrivate;
29
+ _events: ITrixEvents;
30
+ /**
31
+ * Indicator series.
32
+ */
33
+ series: LineSeries;
34
+ /**
35
+ * Indicator series for the signal.
36
+ */
37
+ signalSeries: LineSeries;
38
+ _editableSettings: IIndicatorEditableSetting[];
39
+ protected _themeTag: string;
40
+ _createSeries(): LineSeries;
41
+ protected _afterNew(): void;
42
+ _prepareChildren(): void;
43
+ _updateChildren(): void;
44
+ /**
45
+ * @ignore
46
+ */
47
+ prepareData(): void;
48
+ }
49
+ //# sourceMappingURL=Trix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Trix.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Trix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,WAAW,aAAc,SAAQ,uBAAuB;IAC7D;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,sBAAsB;CAC3D;AAED,MAAM,WAAW,WAAY,SAAQ,qBAAqB;CACzD;AAGD;;;;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;IAE1B,iBAAiB,EAAE,yBAAyB,EAAE,CAgBlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAU;IAE9B,aAAa,IAAI,UAAU;IAYlC,SAAS,CAAC,SAAS;IAqBZ,gBAAgB;IAQhB,eAAe;IAoBtB;;OAEG;IACI,WAAW;CAwClB"}
@@ -0,0 +1,174 @@
1
+ import { __extends } from "tslib";
2
+ import { ChartIndicator } from "./ChartIndicator";
3
+ import { LineSeries } from "../../xy/series/LineSeries";
4
+ import * as $array from "../../../core/util/Array";
5
+ import * as $type from "../../../core/util/Type";
6
+ /**
7
+ * An implementation of a [[StockChart]] indicator.
8
+ *
9
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
10
+ */
11
+ var Trix = /** @class */ (function (_super) {
12
+ __extends(Trix, _super);
13
+ function Trix() {
14
+ var _this = _super !== null && _super.apply(this, arguments) || this;
15
+ /**
16
+ * Indicator series for the signal.
17
+ */
18
+ Object.defineProperty(_this, "signalSeries", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ Object.defineProperty(_this, "_editableSettings", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: [{
29
+ key: "period",
30
+ name: _this.root.language.translateAny("Period"),
31
+ type: "number"
32
+ }, {
33
+ key: "seriesColor",
34
+ name: _this.root.language.translateAny("Color"),
35
+ type: "color"
36
+ }, {
37
+ key: "signalPeriod",
38
+ name: _this.root.language.translateAny("Signal period"),
39
+ type: "number"
40
+ }, {
41
+ key: "signalColor",
42
+ name: _this.root.language.translateAny("Signal color"),
43
+ type: "color"
44
+ }]
45
+ });
46
+ Object.defineProperty(_this, "_themeTag", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: "trix"
51
+ });
52
+ return _this;
53
+ }
54
+ Object.defineProperty(Trix.prototype, "_createSeries", {
55
+ enumerable: false,
56
+ configurable: true,
57
+ writable: true,
58
+ value: function () {
59
+ return this.panel.series.push(LineSeries.new(this._root, {
60
+ themeTags: ["indicator"],
61
+ xAxis: this.xAxis,
62
+ yAxis: this.yAxis,
63
+ valueXField: "valueX",
64
+ valueYField: "trix",
65
+ fill: undefined
66
+ }));
67
+ }
68
+ });
69
+ Object.defineProperty(Trix.prototype, "_afterNew", {
70
+ enumerable: false,
71
+ configurable: true,
72
+ writable: true,
73
+ value: function () {
74
+ _super.prototype._afterNew.call(this);
75
+ var chart = this.panel;
76
+ if (chart) {
77
+ var signalSeries = chart.series.push(LineSeries.new(this._root, {
78
+ valueXField: "valueX",
79
+ valueYField: "signal",
80
+ xAxis: this.xAxis,
81
+ yAxis: this.yAxis,
82
+ groupDataDisabled: true,
83
+ themeTags: ["indicator", "signal"]
84
+ }));
85
+ this.signalSeries = signalSeries;
86
+ }
87
+ }
88
+ });
89
+ Object.defineProperty(Trix.prototype, "_prepareChildren", {
90
+ enumerable: false,
91
+ configurable: true,
92
+ writable: true,
93
+ value: function () {
94
+ if (this.isDirty("signalPeriod")) {
95
+ this._dataDirty = true;
96
+ this.setCustomData("signalPeriod", this.get("signalPeriod"));
97
+ }
98
+ _super.prototype._prepareChildren.call(this);
99
+ }
100
+ });
101
+ Object.defineProperty(Trix.prototype, "_updateChildren", {
102
+ enumerable: false,
103
+ configurable: true,
104
+ writable: true,
105
+ value: function () {
106
+ _super.prototype._updateChildren.call(this);
107
+ if (this.isDirty("signalColor")) {
108
+ this._updateSeriesColor(this.signalSeries, this.get("signalColor"), "signalColor");
109
+ }
110
+ var dataItem = this.series.dataItem;
111
+ if (dataItem) {
112
+ var dataContext = dataItem.dataContext;
113
+ if (dataContext) {
114
+ dataContext.signalPeriod = this.get("signalPeriod");
115
+ var signalColor = this.get("signalColor");
116
+ if (signalColor) {
117
+ dataContext.signalColor = signalColor.toCSSHex();
118
+ }
119
+ }
120
+ }
121
+ }
122
+ });
123
+ /**
124
+ * @ignore
125
+ */
126
+ Object.defineProperty(Trix.prototype, "prepareData", {
127
+ enumerable: false,
128
+ configurable: true,
129
+ writable: true,
130
+ value: function () {
131
+ _super.prototype.prepareData.call(this);
132
+ if (this.series) {
133
+ var period = this.get("period", 14);
134
+ var stockSeries = this.get("stockSeries");
135
+ var dataItems = stockSeries.dataItems;
136
+ var data = this._getDataArray(dataItems);
137
+ this._ema(data, period, "value_y", "ema");
138
+ this._ema(data, period, "ema", "ema2");
139
+ this._ema(data, period, "ema2", "ema3");
140
+ var previousDataItem_1;
141
+ var previousValue_1;
142
+ $array.each(data, function (dataItem) {
143
+ var value = dataItem.ema3;
144
+ if (previousDataItem_1) {
145
+ previousValue_1 = previousDataItem_1.ema3;
146
+ }
147
+ if ($type.isNumber(value) && $type.isNumber(previousValue_1)) {
148
+ dataItem.trix = 100 * (value - previousValue_1) / previousValue_1;
149
+ }
150
+ previousDataItem_1 = dataItem;
151
+ });
152
+ this.series.data.setAll(data);
153
+ period = this.get("signalPeriod", 9);
154
+ this._sma(data, period, "trix", "signal");
155
+ this.signalSeries.data.setAll(data);
156
+ }
157
+ }
158
+ });
159
+ Object.defineProperty(Trix, "className", {
160
+ enumerable: true,
161
+ configurable: true,
162
+ writable: true,
163
+ value: "Trix"
164
+ });
165
+ Object.defineProperty(Trix, "classNames", {
166
+ enumerable: true,
167
+ configurable: true,
168
+ writable: true,
169
+ value: ChartIndicator.classNames.concat([Trix.className])
170
+ });
171
+ return Trix;
172
+ }(ChartIndicator));
173
+ export { Trix };
174
+ //# sourceMappingURL=Trix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Trix.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Trix.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nexport interface ITrixSettings extends IChartIndicatorSettings {\r\n\t/**\r\n\t * Signal color.\r\n\t */\r\n\tsignalColor?: Color;\r\n\t\r\n\t/**\r\n\t * A value for \"signal\" period.\r\n\t */\r\n\tsignalPeriod?: number;\t\r\n}\r\n\r\nexport interface ITrixPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface ITrixEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class Trix extends ChartIndicator {\r\n\tpublic static className: string = \"Trix\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([Trix.className]);\r\n\r\n\tdeclare public _settings: ITrixSettings;\r\n\tdeclare public _privateSettings: ITrixPrivate;\r\n\tdeclare public _events: ITrixEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\t/**\r\n\t * Indicator series for the signal.\r\n\t */\r\n\tpublic signalSeries!: LineSeries;\t\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Color\"),\r\n\t\ttype: \"color\"\r\n\t},{\r\n\t\tkey: \"signalPeriod\",\r\n\t\tname: this.root.language.translateAny(\"Signal period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"signalColor\",\r\n\t\tname: this.root.language.translateAny(\"Signal color\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _themeTag: string = \"trix\";\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"trix\",\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst chart = this.panel;\r\n\r\n\t\tif (chart) {\r\n\r\n\t\t\tconst signalSeries = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"signal\",\r\n\t\t\t\txAxis: this.xAxis,\r\n\t\t\t\tyAxis: this.yAxis,\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tthemeTags: [\"indicator\", \"signal\"]\r\n\t\t\t}))\r\n\r\n\t\t\tthis.signalSeries = signalSeries;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"signalPeriod\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t\tthis.setCustomData(\"signalPeriod\", this.get(\"signalPeriod\"));\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\t\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"signalColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.signalSeries, this.get(\"signalColor\"), \"signalColor\");\r\n\t\t}\r\n\r\n\t\tconst dataItem = this.series.dataItem;\r\n\t\tif (dataItem) {\r\n\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tdataContext.signalPeriod = this.get(\"signalPeriod\");\r\n\t\t\t\tconst signalColor = this.get(\"signalColor\");\r\n\t\t\t\tif (signalColor) {\r\n\t\t\t\t\tdataContext.signalColor = signalColor.toCSSHex();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tsuper.prepareData();\r\n\r\n\t\tif (this.series) {\r\n\r\n\t\t\tlet period = this.get(\"period\", 14);\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst dataItems = stockSeries.dataItems;\r\n\r\n\t\t\tlet data = this._getDataArray(dataItems);\r\n\r\n\t\t\tthis._ema(data, period, \"value_y\", \"ema\");\r\n\t\t\tthis._ema(data, period, \"ema\", \"ema2\");\r\n\t\t\tthis._ema(data, period, \"ema2\", \"ema3\");\r\n\r\n\t\t\tlet previousDataItem: any;\r\n\t\t\tlet previousValue: number;\r\n\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\tlet value = dataItem.ema3;\r\n\t\t\t\tif (previousDataItem) {\r\n\t\t\t\t\tpreviousValue = previousDataItem.ema3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ($type.isNumber(value) && $type.isNumber(previousValue)) {\r\n\t\t\t\t\tdataItem.trix = 100 * (value - previousValue) / previousValue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpreviousDataItem = dataItem;\r\n\t\t\t})\r\n\r\n\r\n\t\t\tthis.series.data.setAll(data);\r\n\r\n\r\n\t\t\tperiod = this.get(\"signalPeriod\", 9);\r\n\t\t\tthis._sma(data, period, \"trix\", \"signal\");\r\n\r\n\t\t\tthis.signalSeries.data.setAll(data);\r\n\t\t}\r\n\t}\r\n}"]}
@@ -0,0 +1,33 @@
1
+ import type { IIndicatorEditableSetting } from "./Indicator";
2
+ import { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from "./ChartIndicator";
3
+ import { LineSeries } from "../../xy/series/LineSeries";
4
+ export interface ITypicalPriceSettings extends IChartIndicatorSettings {
5
+ }
6
+ export interface ITypicalPricePrivate extends IChartIndicatorPrivate {
7
+ }
8
+ export interface ITypicalPriceEvents extends IChartIndicatorEvents {
9
+ }
10
+ /**
11
+ * An implementation of a [[StockChart]] indicator.
12
+ *
13
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
14
+ */
15
+ export declare class TypicalPrice extends ChartIndicator {
16
+ static className: string;
17
+ static classNames: Array<string>;
18
+ _settings: ITypicalPriceSettings;
19
+ _privateSettings: ITypicalPricePrivate;
20
+ _events: ITypicalPriceEvents;
21
+ /**
22
+ * Indicator series.
23
+ */
24
+ series: LineSeries;
25
+ _editableSettings: IIndicatorEditableSetting[];
26
+ protected _themeTag: string;
27
+ _createSeries(): LineSeries;
28
+ /**
29
+ * @ignore
30
+ */
31
+ prepareData(): void;
32
+ }
33
+ //# sourceMappingURL=TypicalPrice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypicalPrice.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/TypicalPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;CACrE;AAED,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;CACnE;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;CACjE;AAGD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC/C,OAAc,SAAS,EAAE,MAAM,CAAkB;IACjD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA8D;IAEtF,SAAS,EAAE,qBAAqB,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,OAAO,EAAE,mBAAmB,CAAC;IAE5C;;OAEG;IACY,MAAM,EAAE,UAAU,CAAC;IAE3B,iBAAiB,EAAE,yBAAyB,EAAE,CAQlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAkB;IAEtC,aAAa,IAAI,UAAU;IAWlC;;OAEG;IACI,WAAW;CAoClB"}
@@ -0,0 +1,104 @@
1
+ import { __extends } from "tslib";
2
+ import { ChartIndicator } from "./ChartIndicator";
3
+ import { LineSeries } from "../../xy/series/LineSeries";
4
+ import * as $array from "../../../core/util/Array";
5
+ /**
6
+ * An implementation of a [[StockChart]] indicator.
7
+ *
8
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
9
+ */
10
+ var TypicalPrice = /** @class */ (function (_super) {
11
+ __extends(TypicalPrice, _super);
12
+ function TypicalPrice() {
13
+ var _this = _super !== null && _super.apply(this, arguments) || this;
14
+ Object.defineProperty(_this, "_editableSettings", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: [{
19
+ key: "period",
20
+ name: _this.root.language.translateAny("Period"),
21
+ type: "number"
22
+ }, {
23
+ key: "seriesColor",
24
+ name: _this.root.language.translateAny("Color"),
25
+ type: "color"
26
+ }]
27
+ });
28
+ Object.defineProperty(_this, "_themeTag", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: "typicalprice"
33
+ });
34
+ return _this;
35
+ }
36
+ Object.defineProperty(TypicalPrice.prototype, "_createSeries", {
37
+ enumerable: false,
38
+ configurable: true,
39
+ writable: true,
40
+ value: function () {
41
+ return this.panel.series.push(LineSeries.new(this._root, {
42
+ themeTags: ["indicator"],
43
+ xAxis: this.xAxis,
44
+ yAxis: this.yAxis,
45
+ valueXField: "valueX",
46
+ valueYField: "typical",
47
+ fill: undefined
48
+ }));
49
+ }
50
+ });
51
+ /**
52
+ * @ignore
53
+ */
54
+ Object.defineProperty(TypicalPrice.prototype, "prepareData", {
55
+ enumerable: false,
56
+ configurable: true,
57
+ writable: true,
58
+ value: function () {
59
+ _super.prototype.prepareData.call(this);
60
+ if (this.series) {
61
+ var period_1 = this.get("period", 20);
62
+ var stockSeries = this.get("stockSeries");
63
+ var dataItems = stockSeries.dataItems;
64
+ var data_1 = this._getDataArray(dataItems);
65
+ var i_1 = 0;
66
+ var index_1 = 0;
67
+ var typical_1 = 0;
68
+ $array.each(data_1, function (dataItem) {
69
+ var value = dataItem.value_y;
70
+ if (value != null) {
71
+ i_1++;
72
+ typical_1 += value / period_1;
73
+ if (i_1 >= period_1) {
74
+ if (i_1 > period_1) {
75
+ var valueToRemove = data_1[index_1 - period_1].value_y;
76
+ if (valueToRemove != null) {
77
+ typical_1 -= valueToRemove / period_1;
78
+ }
79
+ }
80
+ dataItem.typical = typical_1;
81
+ }
82
+ }
83
+ index_1++;
84
+ });
85
+ this.series.data.setAll(data_1);
86
+ }
87
+ }
88
+ });
89
+ Object.defineProperty(TypicalPrice, "className", {
90
+ enumerable: true,
91
+ configurable: true,
92
+ writable: true,
93
+ value: "TypicalPrice"
94
+ });
95
+ Object.defineProperty(TypicalPrice, "classNames", {
96
+ enumerable: true,
97
+ configurable: true,
98
+ writable: true,
99
+ value: ChartIndicator.classNames.concat([TypicalPrice.className])
100
+ });
101
+ return TypicalPrice;
102
+ }(ChartIndicator));
103
+ export { TypicalPrice };
104
+ //# sourceMappingURL=TypicalPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypicalPrice.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/TypicalPrice.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAA0E,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AAYnD;;;;GAIG;AACH;IAAkC,gCAAc;IAAhD;QAAA,qEA2EC;QA9DA;;;;mBAAwD,CAAC;oBACxD,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,QAAQ;iBACd,EAAE;oBACF,GAAG,EAAE,aAAa;oBAClB,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC9C,IAAI,EAAE,OAAO;iBACb,CAAC;WAAC;QAEH;;;;mBAA8B,cAAc;WAAC;;IAoD9C,CAAC;;;;;eAlDA;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;gBACxD,SAAS,EAAE,CAAC,WAAW,CAAC;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;aACf,CAAC,CAAC,CAAA;QACJ,CAAC;;IAED;;OAEG;;;;;eACH;YACC,iBAAM,WAAW,WAAE,CAAC;YAEpB,IAAI,IAAI,CAAC,MAAM,EAAE;gBAEhB,IAAI,QAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBAExC,IAAI,MAAI,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAEzC,IAAI,GAAC,GAAG,CAAC,CAAC;gBACV,IAAI,OAAK,GAAG,CAAC,CAAC;gBACd,IAAI,SAAO,GAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,MAAI,EAAE,UAAC,QAAQ;oBAC1B,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC7B,IAAI,KAAK,IAAI,IAAI,EAAE;wBAClB,GAAC,EAAE,CAAC;wBACJ,SAAO,IAAI,KAAK,GAAG,QAAM,CAAC;wBAE1B,IAAI,GAAC,IAAI,QAAM,EAAE;4BAChB,IAAI,GAAC,GAAG,QAAM,EAAE;gCACf,IAAI,aAAa,GAAG,MAAI,CAAC,OAAK,GAAG,QAAM,CAAC,CAAC,OAAO,CAAC;gCACjD,IAAI,aAAa,IAAI,IAAI,EAAE;oCAC1B,SAAO,IAAI,aAAa,GAAG,QAAM,CAAC;iCAClC;6BACD;4BACD,QAAQ,CAAC,OAAO,GAAG,SAAO,CAAC;yBAC3B;qBACD;oBACD,OAAK,EAAE,CAAC;gBACT,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAI,CAAC,CAAC;aAC9B;QACF,CAAC;;IAzED;;;;eAAkC,cAAc;OAAC;IACjD;;;;eAA0C,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;OAAC;IAyEtG,mBAAC;CAAA,AA3ED,CAAkC,cAAc,GA2E/C;SA3EY,YAAY","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface ITypicalPriceSettings extends IChartIndicatorSettings {\r\n}\r\n\r\nexport interface ITypicalPricePrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface ITypicalPriceEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class TypicalPrice extends ChartIndicator {\r\n\tpublic static className: string = \"TypicalPrice\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([TypicalPrice.className]);\r\n\r\n\tdeclare public _settings: ITypicalPriceSettings;\r\n\tdeclare public _privateSettings: ITypicalPricePrivate;\r\n\tdeclare public _events: ITypicalPriceEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Color\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _themeTag: string = \"typicalprice\";\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"typical\",\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tsuper.prepareData();\r\n\r\n\t\tif (this.series) {\r\n\r\n\t\t\tlet period = this.get(\"period\", 20);\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst dataItems = stockSeries.dataItems;\r\n\r\n\t\t\tlet data = this._getDataArray(dataItems);\r\n\r\n\t\t\tlet i = 0;\r\n\t\t\tlet index = 0;\r\n\t\t\tlet typical = 0;\r\n\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\tlet value = dataItem.value_y;\r\n\t\t\t\tif (value != null) {\r\n\t\t\t\t\ti++;\r\n\t\t\t\t\ttypical += value / period;\r\n\r\n\t\t\t\t\tif (i >= period) {\r\n\t\t\t\t\t\tif (i > period) {\r\n\t\t\t\t\t\t\tlet valueToRemove = data[index - period].value_y;\r\n\t\t\t\t\t\t\tif (valueToRemove != null) {\r\n\t\t\t\t\t\t\t\ttypical -= valueToRemove / period;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdataItem.typical = typical;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tindex++;\r\n\t\t\t})\r\n\r\n\t\t\tthis.series.data.setAll(data);\r\n\t\t}\r\n\t}\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VWAP.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/VWAP.ts"],"names":[],"mappings":"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","sourcesContent":["import { Indicator, IIndicatorSettings, IIndicatorPrivate, IIndicatorEvents, IIndicatorEditableSetting } from \"./Indicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IVWAPSettings extends IIndicatorSettings {\r\n\r\n}\r\n\r\nexport interface IVWAPPrivate extends IIndicatorPrivate {\r\n}\r\n\r\nexport interface IVWAPEvents extends IIndicatorEvents {\r\n}\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class VWAP extends Indicator {\r\n\tpublic static className: string = \"VWAP\";\r\n\tpublic static classNames: Array<string> = Indicator.classNames.concat([VWAP.className]);\r\n\r\n\tdeclare public _settings: IVWAPSettings;\r\n\tdeclare public _privateSettings: IVWAPPrivate;\r\n\tdeclare public _events: IVWAPEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Color\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"field\",\r\n\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t}];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tconst chart = stockSeries.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst series = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"vwap\",\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\txAxis: stockSeries.get(\"xAxis\"),\r\n\t\t\t\tyAxis: stockSeries.get(\"yAxis\"),\r\n\t\t\t\tthemeTags: [\"indicator\", \"vwap\"],\r\n\t\t\t\tname: \"VWAP\"\r\n\t\t\t}))\r\n\r\n\t\t\tseries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\t\t\tthis.series = series;\r\n\r\n\t\t\tthis._handleLegend(series);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tlet period = this.get(\"period\", Infinity);\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\r\n\t\t\tconst dataItems = stockSeries.dataItems;\r\n\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tlet data = this._getDataArray(dataItems);\r\n\t\t\t\tlet i = 0;\r\n\t\t\t\tlet totalVolume = 0;\r\n\t\t\t\tlet totalVW = 0;\r\n\t\t\t\t$array.each(data, (dataItem) => {\r\n\r\n\t\t\t\t\tconst volumeDI = volumeSeries.dataItems[i];\r\n\t\t\t\t\tconst volume = volumeDI.get(\"valueY\", 0);\r\n\t\t\t\t\tvar vw = dataItem.value_y * volume;\r\n\r\n\t\t\t\t\tdataItem.vw = vw;\r\n\t\t\t\t\tdataItem.volume = volume;\r\n\r\n\t\t\t\t\ttotalVW += vw;\r\n\t\t\t\t\ttotalVolume += volume;\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (i >= period) {\r\n\t\t\t\t\t\tlet volumeToRemove = data[i - period].volume;\r\n\t\t\t\t\t\tlet vwToRemove = data[i - period].vw;\r\n\t\t\t\t\t\tif (volumeToRemove != null) {\r\n\t\t\t\t\t\t\ttotalVolume -= volumeToRemove;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vwToRemove != null) {\r\n\t\t\t\t\t\t\ttotalVW -= vwToRemove;\r\n\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tdataItem.totalVW = totalVW;\r\n\t\t\t\t\tdataItem.vwap = totalVW / totalVolume;\r\n\r\n\t\t\t\t\ti++;\r\n\t\t\t\t})\r\n\t\t\t\tthis.series.data.setAll(data);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"VWAP.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/VWAP.ts"],"names":[],"mappings":"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","sourcesContent":["import { Indicator, IIndicatorSettings, IIndicatorPrivate, IIndicatorEvents, IIndicatorEditableSetting } from \"./Indicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IVWAPSettings extends IIndicatorSettings {\r\n\r\n}\r\n\r\nexport interface IVWAPPrivate extends IIndicatorPrivate {\r\n}\r\n\r\nexport interface IVWAPEvents extends IIndicatorEvents {\r\n}\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class VWAP extends Indicator {\r\n\tpublic static className: string = \"VWAP\";\r\n\tpublic static classNames: Array<string> = Indicator.classNames.concat([VWAP.className]);\r\n\r\n\tdeclare public _settings: IVWAPSettings;\r\n\tdeclare public _privateSettings: IVWAPPrivate;\r\n\tdeclare public _events: IVWAPEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Color\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"field\",\r\n\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t}];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tconst chart = stockSeries.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst series = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"vwap\",\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\txAxis: stockSeries.get(\"xAxis\"),\r\n\t\t\t\tyAxis: stockSeries.get(\"yAxis\"),\r\n\t\t\t\tthemeTags: [\"indicator\", \"vwap\"],\r\n\t\t\t\tname: \"VWAP\"\r\n\t\t\t}))\r\n\r\n\t\t\tseries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\t\t\tthis.series = series;\r\n\r\n\t\t\tthis._handleLegend(series);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tlet period = this.get(\"period\", Infinity);\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\r\n\t\t\tconst dataItems = stockSeries.dataItems;\r\n\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tlet data = this._getDataArray(dataItems);\r\n\t\t\t\tlet i = 0;\r\n\t\t\t\tlet totalVolume = 0;\r\n\t\t\t\tlet totalVW = 0;\r\n\t\t\t\t$array.each(data, (dataItem) => {\r\n\r\n\t\t\t\t\tconst volumeDI = volumeSeries.dataItems[i];\r\n\t\t\t\t\tconst volume = volumeDI.get(\"valueY\", 0);\r\n\t\t\t\t\tvar vw = dataItem.value_y * volume;\r\n\r\n\t\t\t\t\tdataItem.vw = vw;\r\n\t\t\t\t\tdataItem.volume = volume;\r\n\r\n\t\t\t\t\ttotalVW += vw;\r\n\t\t\t\t\ttotalVolume += volume;\r\n\r\n\r\n\t\t\t\t\tif (i >= period) {\r\n\t\t\t\t\t\tlet volumeToRemove = data[i - period].volume;\r\n\t\t\t\t\t\tlet vwToRemove = data[i - period].vw;\r\n\t\t\t\t\t\tif (volumeToRemove != null) {\r\n\t\t\t\t\t\t\ttotalVolume -= volumeToRemove;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vwToRemove != null) {\r\n\t\t\t\t\t\t\ttotalVW -= vwToRemove;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.totalVW = totalVW;\r\n\t\t\t\t\tdataItem.vwap = totalVW / totalVolume;\r\n\r\n\t\t\t\t\ti++;\r\n\t\t\t\t})\r\n\t\t\t\tthis.series.data.setAll(data);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Volume.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Volume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAIjD,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAE/D;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;CAExB;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB;CAC7D;AAED,MAAM,WAAW,aAAc,SAAQ,qBAAqB;CAC3D;AAED;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,cAAc;IACzC,OAAc,SAAS,EAAE,MAAM,CAAY;IAC3C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwD;IAEhF,SAAS,EAAE,eAAe,CAAC;IAC3B,gBAAgB,EAAE,cAAc,CAAC;IACjC,OAAO,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACY,MAAM,EAAE,YAAY,CAAC;IAE7B,iBAAiB,EAAE,yBAAyB,EAAE,CAQlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAY;IAEhC,aAAa,IAAI,YAAY;IAW7B,gBAAgB;IAOvB;;OAEG;IACI,WAAW;CA0BlB"}
1
+ {"version":3,"file":"Volume.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Volume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAIjD,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAE/D;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;CAExB;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB;CAC7D;AAED,MAAM,WAAW,aAAc,SAAQ,qBAAqB;CAC3D;AAED;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,cAAc;IACzC,OAAc,SAAS,EAAE,MAAM,CAAY;IAC3C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwD;IAEhF,SAAS,EAAE,eAAe,CAAC;IAC3B,gBAAgB,EAAE,cAAc,CAAC;IACjC,OAAO,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACY,MAAM,EAAE,YAAY,CAAC;IAE7B,iBAAiB,EAAE,yBAAyB,EAAE,CAQlD;IAEH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAY;IAEhC,aAAa,IAAI,YAAY;IAY7B,gBAAgB;IAOvB;;OAEG;IACI,WAAW;CA0BlB"}
@@ -40,6 +40,7 @@ var Volume = /** @class */ (function (_super) {
40
40
  writable: true,
41
41
  value: function () {
42
42
  return this.panel.series.push(ColumnSeries.new(this._root, {
43
+ themeTags: ["indicator"],
43
44
  xAxis: this.xAxis,
44
45
  yAxis: this.yAxis,
45
46
  valueXField: "valueX",
@@ -1 +1 @@
1
- {"version":3,"file":"Volume.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Volume.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\nimport { Color } from \"../../../core/util/Color\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IVolumeSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * An icreasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * A decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n}\r\n\r\nexport interface IVolumePrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IVolumeEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class Volume extends ChartIndicator {\r\n\tpublic static className: string = \"Volume\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([Volume.className]);\r\n\r\n\tdeclare public _settings: IVolumeSettings;\r\n\tdeclare public _privateSettings: IVolumePrivate;\r\n\tdeclare public _events: IVolumeEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: ColumnSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"increasingColor\",\r\n\t\tname: this.root.language.translateAny(\"Up volume\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"decreasingColor\",\r\n\t\tname: this.root.language.translateAny(\"Down volume\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _themeTag: string = \"volume\";\r\n\r\n\tpublic _createSeries(): ColumnSeries {\r\n\t\treturn this.panel.series.push(ColumnSeries.new(this._root, {\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"volume\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"increasingColor\") || this.isDirty(\"decreasingColor\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\t\tif (volumeSeries && stockChart) {\r\n\t\t\t\tconst dataItems = volumeSeries.dataItems;\r\n\r\n\t\t\t\tthis.setRaw(\"field\", \"close\");\r\n\r\n\t\t\t\tlet decreasingColor = this.get(\"decreasingColor\", Color.fromHex(0xff0000));\r\n\t\t\t\tlet increasingColor = this.get(\"increasingColor\", Color.fromHex(0x00ff00));\r\n\r\n\t\t\t\tlet data = this._getDataArray(dataItems);\r\n\r\n\t\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\t\tdataItem.volume = dataItem.value_y;\r\n\t\t\t\t})\r\n\t\t\t\tthis.series.data.setAll(data);\r\n\r\n\t\t\t\t$array.each(this.series.dataItems, (dataItem) => {\r\n\t\t\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\t\t\tdataContext.volumeColor = stockChart.getVolumeColor(dataItem, decreasingColor, increasingColor);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"Volume.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Volume.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\nimport { Color } from \"../../../core/util/Color\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IVolumeSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * An icreasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * A decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n}\r\n\r\nexport interface IVolumePrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IVolumeEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class Volume extends ChartIndicator {\r\n\tpublic static className: string = \"Volume\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([Volume.className]);\r\n\r\n\tdeclare public _settings: IVolumeSettings;\r\n\tdeclare public _privateSettings: IVolumePrivate;\r\n\tdeclare public _events: IVolumeEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: ColumnSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"increasingColor\",\r\n\t\tname: this.root.language.translateAny(\"Up volume\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"decreasingColor\",\r\n\t\tname: this.root.language.translateAny(\"Down volume\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _themeTag: string = \"volume\";\r\n\r\n\tpublic _createSeries(): ColumnSeries {\r\n\t\treturn this.panel.series.push(ColumnSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"volume\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"increasingColor\") || this.isDirty(\"decreasingColor\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\t\tif (volumeSeries && stockChart) {\r\n\t\t\t\tconst dataItems = volumeSeries.dataItems;\r\n\r\n\t\t\t\tthis.setRaw(\"field\", \"close\");\r\n\r\n\t\t\t\tlet decreasingColor = this.get(\"decreasingColor\", Color.fromHex(0xff0000));\r\n\t\t\t\tlet increasingColor = this.get(\"increasingColor\", Color.fromHex(0x00ff00));\r\n\r\n\t\t\t\tlet data = this._getDataArray(dataItems);\r\n\r\n\t\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\t\tdataItem.volume = dataItem.value_y;\r\n\t\t\t\t})\r\n\t\t\t\tthis.series.data.setAll(data);\r\n\r\n\t\t\t\t$array.each(this.series.dataItems, (dataItem) => {\r\n\t\t\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\t\t\tdataContext.volumeColor = stockChart.getVolumeColor(dataItem, decreasingColor, increasingColor);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"WilliamsR.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/WilliamsR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IAElE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;CAEtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;CAChE;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;CAC9D;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,cAAc;IAC5C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAEnF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAElC,UAAU,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAExC,aAAa,EAAG,oBAAoB,CAAC;IACrC,eAAe,EAAG,oBAAoB,CAAC;IAE9C;;OAEG;IACY,MAAM,EAAE,UAAU,CAAC;IAE3B,iBAAiB,EAAE,yBAAyB,EAAE,CAyBjD;IAEJ,SAAS,CAAC,SAAS,EAAE,MAAM,CAAe;IAE1C,SAAS,CAAC,SAAS;IAqDZ,aAAa,IAAI,UAAU;IAU3B,eAAe;IAyDtB;;OAEG;IACI,WAAW;CAiClB"}
1
+ {"version":3,"file":"WilliamsR.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/WilliamsR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IAElE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;CAEtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;CAChE;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;CAC9D;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,cAAc;IAC5C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAEnF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAElC,UAAU,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAExC,aAAa,EAAG,oBAAoB,CAAC;IACrC,eAAe,EAAG,oBAAoB,CAAC;IAE9C;;OAEG;IACY,MAAM,EAAE,UAAU,CAAC;IAE3B,iBAAiB,EAAE,yBAAyB,EAAE,CAyBjD;IAEJ,SAAS,CAAC,SAAS,EAAE,MAAM,CAAe;IAE1C,SAAS,CAAC,SAAS;IAqDZ,aAAa,IAAI,UAAU;IAW3B,eAAe;IAyDtB;;OAEG;IACI,WAAW;CAiClB"}
@@ -128,6 +128,7 @@ var WilliamsR = /** @class */ (function (_super) {
128
128
  writable: true,
129
129
  value: function () {
130
130
  return this.panel.series.push(LineSeries.new(this._root, {
131
+ themeTags: ["indicator"],
131
132
  xAxis: this.xAxis,
132
133
  yAxis: this.yAxis,
133
134
  valueXField: "valueX",