@amcharts/amcharts5 5.7.4 → 5.7.5

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 (197) hide show
  1. package/.internal/charts/map/ClusteredPointSeries.d.ts +1 -0
  2. package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
  3. package/.internal/charts/map/ClusteredPointSeries.js +13 -0
  4. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  5. package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
  6. package/.internal/charts/map/MapChartDefaultTheme.js +10 -2
  7. package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
  8. package/.internal/charts/map/ZoomControl.d.ts +9 -4
  9. package/.internal/charts/map/ZoomControl.d.ts.map +1 -1
  10. package/.internal/charts/map/ZoomControl.js +23 -6
  11. package/.internal/charts/map/ZoomControl.js.map +1 -1
  12. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
  13. package/.internal/charts/stock/SettingsModal.js +15 -0
  14. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  15. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
  16. package/.internal/charts/stock/StockChartDefaultTheme.js +23 -1
  17. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  18. package/.internal/charts/stock/indicators/Indicator.d.ts +2 -0
  19. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  20. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  21. package/.internal/charts/stock/indicators/MACross.d.ts +42 -0
  22. package/.internal/charts/stock/indicators/MACross.d.ts.map +1 -0
  23. package/.internal/charts/stock/indicators/MACross.js +105 -0
  24. package/.internal/charts/stock/indicators/MACross.js.map +1 -0
  25. package/.internal/charts/stock/indicators/PVT.d.ts +38 -0
  26. package/.internal/charts/stock/indicators/PVT.d.ts.map +1 -0
  27. package/.internal/charts/stock/indicators/PVT.js +84 -0
  28. package/.internal/charts/stock/indicators/PVT.js.map +1 -0
  29. package/.internal/charts/stock/indicators/VolumeProfile.d.ts +1 -2
  30. package/.internal/charts/stock/indicators/VolumeProfile.d.ts.map +1 -1
  31. package/.internal/charts/stock/indicators/VolumeProfile.js +3 -2
  32. package/.internal/charts/stock/indicators/VolumeProfile.js.map +1 -1
  33. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +1 -1
  34. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
  35. package/.internal/charts/stock/toolbar/IndicatorControl.js +18 -1
  36. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
  37. package/.internal/core/Classes.d.ts +4 -0
  38. package/.internal/core/Classes.d.ts.map +1 -1
  39. package/.internal/core/Classes.js.map +1 -1
  40. package/.internal/core/Registry.js +1 -1
  41. package/.internal/core/Registry.js.map +1 -1
  42. package/.internal/core/util/Utils.js +4 -4
  43. package/.internal/core/util/Utils.js.map +1 -1
  44. package/.internal/plugins/exporting/Annotator.d.ts +26 -0
  45. package/.internal/plugins/exporting/Annotator.d.ts.map +1 -1
  46. package/.internal/plugins/exporting/Annotator.js +4 -0
  47. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  48. package/CHANGELOG.md +14 -0
  49. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  50. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  51. package/examples/javascript/flow-chord/package.json +1 -1
  52. package/examples/javascript/flow-chord-directed/package.json +1 -1
  53. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  54. package/examples/javascript/flow-sankey/package.json +1 -1
  55. package/examples/javascript/gauge/package.json +1 -1
  56. package/examples/javascript/gauge-bands/package.json +1 -1
  57. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  58. package/examples/javascript/hierarchy-pack/package.json +1 -1
  59. package/examples/javascript/hierarchy-partition/package.json +1 -1
  60. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  61. package/examples/javascript/hierarchy-tree/package.json +1 -1
  62. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  63. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  64. package/examples/javascript/jest/package.json +1 -1
  65. package/examples/javascript/json-pie/package.json +1 -1
  66. package/examples/javascript/json-xy/package.json +1 -1
  67. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  68. package/examples/javascript/map-clustered-points/package.json +1 -1
  69. package/examples/javascript/map-day-and-night/package.json +1 -1
  70. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  71. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  72. package/examples/javascript/map-with-bubbles/package.json +1 -1
  73. package/examples/javascript/map-zoom-to-country/index.js +2 -1
  74. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  75. package/examples/javascript/misc-40-charts/package.json +1 -1
  76. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  77. package/examples/javascript/pie-chart/package.json +1 -1
  78. package/examples/javascript/pie-donut-chart/package.json +1 -1
  79. package/examples/javascript/pie-variable-radius/package.json +1 -1
  80. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  81. package/examples/javascript/radar-heat-map/package.json +1 -1
  82. package/examples/javascript/radar-line/package.json +1 -1
  83. package/examples/javascript/radar-time-line/package.json +1 -1
  84. package/examples/javascript/sliced-funnel/package.json +1 -1
  85. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  86. package/examples/javascript/sliced-pyramid/package.json +1 -1
  87. package/examples/javascript/stock-chart/package.json +1 -1
  88. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  89. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  90. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  91. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  92. package/examples/javascript/stock-chart-live/package.json +1 -1
  93. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  94. package/examples/javascript/venn-diagram/package.json +1 -1
  95. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  96. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  97. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  98. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  99. package/examples/javascript/xy-bubble/package.json +1 -1
  100. package/examples/javascript/xy-candlestick/package.json +1 -1
  101. package/examples/javascript/xy-clustered-column/package.json +1 -1
  102. package/examples/javascript/xy-column/package.json +1 -1
  103. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  104. package/examples/javascript/xy-data-grouping/package.json +1 -1
  105. package/examples/javascript/xy-draggable-range/package.json +1 -1
  106. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  107. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  108. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  109. package/examples/javascript/xy-line/package.json +1 -1
  110. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  111. package/examples/javascript/xy-live-data/package.json +1 -1
  112. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  113. package/examples/javascript/xy-ohlc/package.json +1 -1
  114. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  115. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  116. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  117. package/examples/javascript/xy-stacked-column/package.json +1 -1
  118. package/examples/javascript/xy-stacked-step/package.json +1 -1
  119. package/examples/javascript/xy-stock/package.json +1 -1
  120. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  121. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  122. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  123. package/examples/typescript/flow-chord/package.json +1 -1
  124. package/examples/typescript/flow-chord-directed/package.json +1 -1
  125. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  126. package/examples/typescript/flow-sankey/package.json +1 -1
  127. package/examples/typescript/gauge/package.json +1 -1
  128. package/examples/typescript/gauge-bands/package.json +1 -1
  129. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  130. package/examples/typescript/hierarchy-pack/package.json +1 -1
  131. package/examples/typescript/hierarchy-partition/package.json +1 -1
  132. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  133. package/examples/typescript/hierarchy-tree/package.json +1 -1
  134. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  135. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  136. package/examples/typescript/jest/package.json +1 -1
  137. package/examples/typescript/json-pie/package.json +1 -1
  138. package/examples/typescript/json-xy/package.json +1 -1
  139. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  140. package/examples/typescript/map-clustered-points/package.json +1 -1
  141. package/examples/typescript/map-day-and-night/package.json +1 -1
  142. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  143. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  144. package/examples/typescript/map-with-bubbles/package.json +1 -1
  145. package/examples/typescript/map-zoom-to-country/index.ts +2 -1
  146. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  147. package/examples/typescript/misc-40-charts/package.json +1 -1
  148. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  149. package/examples/typescript/pie-chart/package.json +1 -1
  150. package/examples/typescript/pie-donut-chart/package.json +1 -1
  151. package/examples/typescript/pie-variable-radius/package.json +1 -1
  152. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  153. package/examples/typescript/radar-heat-map/package.json +1 -1
  154. package/examples/typescript/radar-line/package.json +1 -1
  155. package/examples/typescript/radar-time-line/package.json +1 -1
  156. package/examples/typescript/sliced-funnel/package.json +1 -1
  157. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  158. package/examples/typescript/sliced-pyramid/package.json +1 -1
  159. package/examples/typescript/stock-chart/package.json +1 -1
  160. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  161. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  162. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  163. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  164. package/examples/typescript/stock-chart-live/package.json +1 -1
  165. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  166. package/examples/typescript/venn-diagram/package.json +1 -1
  167. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  168. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  169. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  170. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  171. package/examples/typescript/xy-bubble/package.json +1 -1
  172. package/examples/typescript/xy-candlestick/package.json +1 -1
  173. package/examples/typescript/xy-clustered-column/package.json +1 -1
  174. package/examples/typescript/xy-column/package.json +1 -1
  175. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  176. package/examples/typescript/xy-data-grouping/package.json +1 -1
  177. package/examples/typescript/xy-draggable-range/package.json +1 -1
  178. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  179. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  180. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  181. package/examples/typescript/xy-line/package.json +1 -1
  182. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  183. package/examples/typescript/xy-live-data/package.json +1 -1
  184. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  185. package/examples/typescript/xy-ohlc/package.json +1 -1
  186. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  187. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  188. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  189. package/examples/typescript/xy-stacked-column/package.json +1 -1
  190. package/examples/typescript/xy-stacked-step/package.json +1 -1
  191. package/examples/typescript/xy-stock/package.json +1 -1
  192. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  193. package/package.json +1 -1
  194. package/stock.d.ts +1 -0
  195. package/stock.d.ts.map +1 -1
  196. package/stock.js +1 -0
  197. package/stock.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VolumeProfile.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/VolumeProfile.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\nimport type { XYSeries } from \"../../xy/series/XYSeries\";\r\n\r\nimport { AxisRendererX } from \"../../xy/axes/AxisRendererX\";\r\nimport { ValueAxis } from \"../../xy/axes/ValueAxis\";\r\nimport { Indicator, IIndicatorSettings, IIndicatorPrivate, IIndicatorEvents, IIndicatorEditableSetting } from \"./Indicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\nimport { percent } from \"../../../core/util/Percent\";\r\n\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport interface IVolumeProfileSettings extends IIndicatorSettings {\r\n\t/**\r\n\t * Volume up color.\r\n\t */\r\n\tupColor?: Color;\r\n\r\n\t/**\r\n\t * Volume down color.\r\n\t */\r\n\tdownColor?: Color;\r\n\r\n\t/**\r\n\t * Type of count\r\n\t * @todo: what if translated in options?\r\n\t */\r\n\tcountType?: \"rows\" | \"ticks\";\r\n\r\n\t/**\r\n\t * Number of rows or number of ticks, depending on the countType.\r\n\t *\r\n\t * @default 24\r\n\t */\r\n\tcount?: number;\r\n\r\n\t/**\r\n\t * Max width of columns in percent (%).\r\n\t * \r\n\t * @default 40\r\n\t */\r\n\taxisWidth?: number;\r\n\r\n\t/**\r\n\t * Specifies what percentage of all volume for the trading session should\r\n\t * be highlighted by Value Area.\r\n\t * \r\n\t * @default 70\r\n\t */\r\n\tvalueArea?: number;\r\n\r\n\t/**\r\n\t * Opacity of columns which fall withing value area.\r\n\t * \r\n\t * @default .7\r\n\t */\r\n\tvalueAreaOpacity?: number;\r\n\r\n\t/**\r\n\t * Chart's main volume series.\r\n\t */\r\n\tvolumeSeries: XYSeries;\r\n}\r\n\r\nexport interface IVolumeProfilePrivate extends IIndicatorPrivate {\r\n}\r\n\r\nexport interface IVolumeProfileEvents extends IIndicatorEvents {\r\n}\r\n\r\n/**\r\n * An implementation of a Volume Profile indicator for a [[StockChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n * @since 5.7.0\r\n */\r\nexport class VolumeProfile extends Indicator {\r\n\tpublic static className: string = \"VolumeProfile\";\r\n\tpublic static classNames: Array<string> = Indicator.classNames.concat([VolumeProfile.className]);\r\n\r\n\tdeclare public _settings: IVolumeProfileSettings;\r\n\tdeclare public _privateSettings: IVolumeProfilePrivate;\r\n\tdeclare public _events: IVolumeProfileEvents;\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: \"countType\",\r\n\t\tname: this.root.language.translateAny(\"Count\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\r\n\t\t\t{ value: \"rows\", text: this.root.language.translateAny(\"number of rows\") },\r\n\t\t\t{ value: \"ticks\", text: this.root.language.translateAny(\"ticks per row\") }\r\n\t\t]\r\n\t}, {\r\n\t\tkey: \"count\",\r\n\t\tname: this.root.language.translateAny(\"Count\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"valueArea\",\r\n\t\tname: this.root.language.translateAny(\"Value Area\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"upColor\",\r\n\t\tname: this.root.language.translateAny(\"Up volume\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"downColor\",\r\n\t\tname: this.root.language.translateAny(\"Down volume\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"axisWidth\",\r\n\t\tname: this.root.language.translateAny(\"Width %\"),\r\n\t\ttype: \"number\"\r\n\t}];\r\n\r\n\tpublic xAxis!: ValueAxis<AxisRendererX>;\r\n\r\n\tpublic upSeries!: ColumnSeries;\r\n\r\n\tprotected _previousColumn?: Graphics;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tif (volumeSeries) {\r\n\t\t\tconst chart = stockSeries.chart;\r\n\t\t\tconst root = this._root;\r\n\r\n\t\t\tif (chart) {\r\n\t\t\t\tconst yAxis = stockSeries.get(\"yAxis\") as any;\r\n\t\t\t\tconst panelXAxis = stockSeries.get(\"xAxis\") as DateAxis<AxisRendererX>;\r\n\r\n\t\t\t\tpanelXAxis.on(\"start\", () => {\r\n\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t})\r\n\t\t\t\tpanelXAxis.on(\"end\", () => {\r\n\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t})\r\n\r\n\t\t\t\tconst xRenderer = AxisRendererX.new(root, {});\r\n\t\t\t\txRenderer.grid.template.set(\"forceHidden\", true);\r\n\t\t\t\txRenderer.labels.template.set(\"forceHidden\", true);\r\n\r\n\t\t\t\tthis.xAxis = chart.xAxes.push(ValueAxis.new(root, {\r\n\t\t\t\t\tzoomable: false,\r\n\t\t\t\t\tstrictMinMax: true,\r\n\t\t\t\t\tpanX: false,\r\n\t\t\t\t\tpanY: false,\r\n\t\t\t\t\trenderer: xRenderer\r\n\t\t\t\t}));\r\n\r\n\t\t\t\tif (yAxis.get(\"renderer\").get(\"opposite\")) {\r\n\t\t\t\t\txRenderer.set(\"inversed\", true);\r\n\t\t\t\t\tthis.xAxis.setAll({\r\n\t\t\t\t\t\tx: percent(100),\r\n\t\t\t\t\t\tcenterX: percent(100)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.series = chart.series.unshift(ColumnSeries.new(root, {\r\n\t\t\t\t\txAxis: this.xAxis,\r\n\t\t\t\t\tyAxis: yAxis,\r\n\t\t\t\t\tvalueXField: \"down\",\r\n\t\t\t\t\topenValueXField: \"xOpen\",\r\n\t\t\t\t\topenValueYField: \"yOpen\",\r\n\t\t\t\t\tvalueYField: \"y\",\r\n\t\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\t\tthemeTags: [\"indicator\", \"volumeprofile\"]\r\n\t\t\t\t}))\r\n\r\n\r\n\t\t\t\tthis.upSeries = chart.series.unshift(ColumnSeries.new(root, {\r\n\t\t\t\t\txAxis: this.xAxis,\r\n\t\t\t\t\tyAxis: yAxis,\r\n\t\t\t\t\tvalueXField: \"total\",\r\n\t\t\t\t\topenValueXField: \"down\",\r\n\t\t\t\t\topenValueYField: \"yOpen\",\r\n\t\t\t\t\tvalueYField: \"y\",\r\n\t\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\t\tthemeTags: [\"indicator\", \"volumeprofile\"]\r\n\t\t\t\t}))\r\n\r\n\t\t\t\tthis.upSeries.setPrivate(\"doNotUpdateLegend\", true);\r\n\t\t\t\tthis.series.setPrivate(\"doNotUpdateLegend\", true);\r\n\r\n\t\t\t\tthis.upSeries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\t\t\t\tthis.series.setPrivate(\"baseValueSeries\", stockSeries);\r\n\r\n\t\t\t\tthis._handleLegend(this.series);\r\n\r\n\t\t\t\tthis._addInteractivity(this.series);\r\n\t\t\t\tthis._addInteractivity(this.upSeries);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addInteractivity(series: ColumnSeries) {\r\n\t\tseries.columns.template.events.on(\"pointerover\", (e) => {\r\n\t\t\tlet dataItem = e.target.dataItem;\r\n\r\n\t\t\tif (dataItem) {\r\n\t\t\t\tif (dataItem.component == this.upSeries) {\r\n\t\t\t\t\tdataItem = this.series.dataItems[this.upSeries.dataItems.indexOf(dataItem)];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst column = dataItem.get(\"graphics\" as any);\r\n\t\t\t\t\t\tif (column) {\r\n\t\t\t\t\t\t\tcolumn.hover();\r\n\t\t\t\t\t\t\tthis._previousColumn = column;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdataItem = this.upSeries.dataItems[this.series.dataItems.indexOf(dataItem)];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst column = dataItem.get(\"graphics\" as any);\r\n\t\t\t\t\t\tif (column) {\r\n\t\t\t\t\t\t\tcolumn.hover();\r\n\t\t\t\t\t\t\tthis._previousColumn = column;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.series.updateLegendValue(dataItem);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tseries.columns.template.events.on(\"pointerout\", () => {\r\n\t\t\tthis.series.updateLegendValue(undefined);\r\n\t\t\tif (this._previousColumn) {\r\n\t\t\t\tthis._previousColumn.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tseries.columns.template.adapters.add(\"fillOpacity\", (fillOpacity, target) => {\r\n\t\t\tconst dataItem = target.dataItem;\r\n\t\t\tif (dataItem) {\r\n\t\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\t\tif (dataContext) {\r\n\t\t\t\t\tif (dataContext.area) {\r\n\t\t\t\t\t\treturn this.get(\"valueAreaOpacity\", .7);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn fillOpacity;\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _updateChildren(): void {\r\n\t\tif (this.series) {\r\n\t\t\tsuper._updateChildren();\r\n\r\n\t\t\tif (this.isDirty(\"count\") || this.isDirty(\"countType\") || this.isDirty(\"valueArea\")) {\r\n\t\t\t\tthis.markDataDirty();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isDirty(\"upColor\")) {\r\n\t\t\t\tconst upColor = this.get(\"upColor\");\r\n\t\t\t\tthis.upSeries.set(\"fill\", upColor);\r\n\t\t\t\tthis.upSeries.set(\"stroke\", upColor);\r\n\t\t\t\tthis.setCustomData(\"upColor\", upColor);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isDirty(\"downColor\")) {\r\n\t\t\t\tconst downColor = this.get(\"downColor\");\r\n\t\t\t\tthis.series.set(\"fill\", downColor);\r\n\t\t\t\tthis.series.set(\"stroke\", downColor);\r\n\t\t\t\tthis.setCustomData(\"downColor\", downColor);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isDirty(\"axisWidth\")) {\r\n\t\t\t\tthis.xAxis.set(\"width\", percent(this.get(\"axisWidth\", 40)));\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\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\r\n\t\tif (volumeSeries && this.series) {\r\n\t\t\tlet startIndex = volumeSeries.startIndex();\r\n\t\t\tlet endIndex = volumeSeries.endIndex();\r\n\r\n\t\t\tconst count = this.get(\"count\", 20);\r\n\t\t\tconst type = this.get(\"countType\");\r\n\t\t\tlet step = 1;\r\n\r\n\t\t\tlet min = Infinity;\r\n\t\t\tlet max = -Infinity;\r\n\r\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\r\n\t\t\t\tconst dataItem = stockSeries.dataItems[i];\r\n\t\t\t\tif (dataItem) {\r\n\t\t\t\t\tconst close = dataItem.get(\"valueY\");\r\n\t\t\t\t\tif ($type.isNumber(close)) {\r\n\t\t\t\t\t\tif (close < min) {\r\n\t\t\t\t\t\t\tmin = close;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (close > max) {\r\n\t\t\t\t\t\t\tmax = close;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (min != Infinity) {\r\n\r\n\t\t\t\tlet rows: number;\r\n\t\t\t\tif (type == \"ticks\") {\r\n\t\t\t\t\tstep = count / 100;\r\n\t\t\t\t\tmin = Math.floor(min / step) * step;\r\n\t\t\t\t\tmax = Math.ceil(max / step) * step;\r\n\t\t\t\t\trows = (max - min) / step;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstep = (max - min) / count;\r\n\t\t\t\t\trows = count;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst rowDataDown: Array<number> = [];\r\n\t\t\t\tconst rowDataUp: Array<number> = [];\r\n\r\n\t\t\t\tfor (let i = 0; i < rows; i++) {\r\n\t\t\t\t\trowDataDown[i] = 0;\r\n\t\t\t\t\trowDataUp[i] = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet previousDataItem;\r\n\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\r\n\t\t\t\t\tconst dataItem = stockSeries.dataItems[i];\r\n\t\t\t\t\tconst volumeDataItem = volumeSeries.dataItems[i];\r\n\t\t\t\t\tif (dataItem && volumeDataItem) {\r\n\t\t\t\t\t\tconst close = dataItem.get(\"valueY\");\r\n\t\t\t\t\t\tconst volume = volumeDataItem.get(\"valueY\");\r\n\r\n\t\t\t\t\t\tif ($type.isNumber(close) && $type.isNumber(volume)) {\r\n\t\t\t\t\t\t\tlet index = Math.floor((close - min) / step);\r\n\t\t\t\t\t\t\tif (index == count) {\r\n\t\t\t\t\t\t\t\tindex = count - 1;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif ($type.isNumber(index)) {\r\n\t\t\t\t\t\t\t\tif (previousDataItem && previousDataItem.get(\"valueY\", close) < close) {\r\n\t\t\t\t\t\t\t\t\trowDataDown[index] += volume;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\trowDataUp[index] += volume;\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\tpreviousDataItem = dataItem;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst dataDown = [];\r\n\t\t\t\tlet sum = 0;\r\n\t\t\t\tfor (let i = 0; i < rows; i++) {\r\n\t\t\t\t\tlet total = rowDataUp[i] + rowDataDown[i];\r\n\t\t\t\t\tsum += total;\r\n\r\n\t\t\t\t\tdataDown.push({\r\n\t\t\t\t\t\tyOpen: min + i * step,\r\n\t\t\t\t\t\ty: min + (i + 1) * step,\r\n\t\t\t\t\t\tup: rowDataUp[i],\r\n\t\t\t\t\t\tdown: rowDataDown[i],\r\n\t\t\t\t\t\ttotal: total,\r\n\t\t\t\t\t\txOpen: 0,\r\n\t\t\t\t\t\tarea: false\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet len = this.series.data.length;\r\n\t\t\t\tif (len && len == dataDown.length) {\r\n\t\t\t\t\tfor (let i = 0; i < len; i++) {\r\n\t\t\t\t\t\tthis.series.data.setIndex(i, dataDown[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.series.data.setAll(dataDown);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst dataUp = [];\r\n\r\n\t\t\t\tlet highest = 0;\r\n\t\t\t\tlet hi = 0;\r\n\r\n\t\t\t\tfor (let i = 0; i < rows; i++) {\r\n\t\t\t\t\tlet total = rowDataUp[i] + rowDataDown[i];\r\n\t\t\t\t\tdataUp.push({\r\n\t\t\t\t\t\tyOpen: min + i * step,\r\n\t\t\t\t\t\ty: min + (i + 1) * step,\r\n\t\t\t\t\t\tup: rowDataUp[i],\r\n\t\t\t\t\t\tdown: rowDataDown[i],\r\n\t\t\t\t\t\ttotal: total,\r\n\t\t\t\t\t\tarea: false\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\tif (total > highest) {\r\n\t\t\t\t\t\thighest = total;\r\n\t\t\t\t\t\thi = i;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet valueArea = sum * this.get(\"valueArea\", 70) / 100;\r\n\t\t\t\tlet area = highest;\r\n\r\n\t\t\t\tlet cd = 1;\r\n\t\t\t\tlet cu = 1;\r\n\t\t\t\tlet dlen = dataUp.length;\r\n\r\n\t\t\t\tdataUp[hi].area = true;\r\n\t\t\t\tdataDown[hi].area = true;\r\n\r\n\t\t\t\t/* \r\n\t\t\t\t// with two rows\r\n\t\t\t\twhile (area < valueArea) {\r\n\t\t\t\t\tlet rowAbove1 = hi + cu;\r\n\t\t\t\t\tlet rowAbove2 = hi + cu + 1;\r\n\r\n\t\t\t\t\tlet sumAbove = 0\r\n\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\tsumAbove += dataUp[rowAbove1].total;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (rowAbove2 < dlen) {\r\n\t\t\t\t\t\tsumAbove += dataUp[rowAbove2].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet rowBelow1 = hi - cd;\r\n\t\t\t\t\tlet rowBelow2 = hi - cd - 1;\r\n\r\n\t\t\t\t\tlet sumBelow = 0\r\n\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\tsumBelow += dataUp[rowBelow1].total;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (rowBelow2 >= 0) {\r\n\t\t\t\t\t\tsumBelow += dataUp[rowBelow2].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow <= sumAbove) {\r\n\t\t\t\t\t\tarea += sumAbove;\r\n\t\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\t\tdataDown[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (rowAbove2 < dlen) {\r\n\t\t\t\t\t\t\tdataDown[rowAbove2].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowAbove2].area = true;\r\n\t\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tarea += sumBelow;\r\n\t\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\t\tdataDown[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (rowBelow2 >= 0) {\r\n\t\t\t\t\t\t\tdataDown[rowBelow2].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowBelow2].area = true;\r\n\t\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow == 0) {\r\n\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (sumAbove == 0) {\r\n\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ((cd > dlen && cu > dlen)) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\t*/\r\n\r\n\t\t\t\t// single row\r\n\t\t\t\twhile (area < valueArea) {\r\n\t\t\t\t\tlet rowAbove1 = hi + cu;\r\n\t\t\t\t\tlet sumAbove = 0\r\n\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\tsumAbove += dataUp[rowAbove1].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet rowBelow1 = hi - cd;\r\n\r\n\t\t\t\t\tlet sumBelow = 0\r\n\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\tsumBelow += dataUp[rowBelow1].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow <= sumAbove) {\r\n\t\t\t\t\t\tarea += sumAbove;\r\n\t\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\t\tdataDown[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tarea += sumBelow;\r\n\t\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\t\tdataDown[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow == 0) {\r\n\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (sumAbove == 0) {\r\n\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ((cd > dlen && cu > dlen)) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarea = Math.ceil(area);\r\n\r\n\t\t\t\tlen = this.upSeries.data.length;\r\n\t\t\t\tif (len > 0 && len == dataUp.length) {\r\n\t\t\t\t\tfor (let i = 0; i < len; i++) {\r\n\t\t\t\t\t\tthis.upSeries.data.setIndex(i, dataUp[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.upSeries.data.setAll(dataUp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\t\tif (this.upSeries) {\r\n\t\t\tthis.upSeries.dispose();\r\n\t\t}\r\n\r\n\t\tif (this.xAxis) {\r\n\t\t\tthis.xAxis.dispose();\r\n\t\t}\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"VolumeProfile.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/VolumeProfile.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\nimport type { XYSeries } from \"../../xy/series/XYSeries\";\r\n\r\nimport { AxisRendererX } from \"../../xy/axes/AxisRendererX\";\r\nimport { ValueAxis } from \"../../xy/axes/ValueAxis\";\r\nimport { Indicator, IIndicatorSettings, IIndicatorPrivate, IIndicatorEvents, IIndicatorEditableSetting } from \"./Indicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\nimport { percent } from \"../../../core/util/Percent\";\r\n\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport interface IVolumeProfileSettings extends IIndicatorSettings {\r\n\t/**\r\n\t * Volume up color.\r\n\t */\r\n\tupColor?: Color;\r\n\r\n\t/**\r\n\t * Volume down color.\r\n\t */\r\n\tdownColor?: Color;\r\n\r\n\t/**\r\n\t * Type of count.\r\n\t */\r\n\tcountType?: \"rows\" | \"ticks\";\r\n\r\n\t/**\r\n\t * Number of rows or number of ticks, depending on the countType.\r\n\t *\r\n\t * @default 24\r\n\t */\r\n\tcount?: number;\r\n\r\n\t/**\r\n\t * Max width of columns in percent (%).\r\n\t * \r\n\t * @default 40\r\n\t */\r\n\taxisWidth?: number;\r\n\r\n\t/**\r\n\t * Specifies what percentage of all volume for the trading session should\r\n\t * be highlighted by Value Area.\r\n\t * \r\n\t * @default 70\r\n\t */\r\n\tvalueArea?: number;\r\n\r\n\t/**\r\n\t * Opacity of columns which fall withing value area.\r\n\t * \r\n\t * @default .7\r\n\t */\r\n\tvalueAreaOpacity?: number;\r\n\r\n\t/**\r\n\t * Chart's main volume series.\r\n\t */\r\n\tvolumeSeries: XYSeries;\r\n}\r\n\r\nexport interface IVolumeProfilePrivate extends IIndicatorPrivate {\r\n}\r\n\r\nexport interface IVolumeProfileEvents extends IIndicatorEvents {\r\n}\r\n\r\n/**\r\n * An implementation of a Volume Profile indicator for a [[StockChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n * @since 5.7.0\r\n */\r\nexport class VolumeProfile extends Indicator {\r\n\tpublic static className: string = \"VolumeProfile\";\r\n\tpublic static classNames: Array<string> = Indicator.classNames.concat([VolumeProfile.className]);\r\n\r\n\tdeclare public _settings: IVolumeProfileSettings;\r\n\tdeclare public _privateSettings: IVolumeProfilePrivate;\r\n\tdeclare public _events: IVolumeProfileEvents;\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: \"countType\",\r\n\t\tname: this.root.language.translateAny(\"Count\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\r\n\t\t\t{ value: \"rows\", text: this.root.language.translateAny(\"number of rows\"), extTarget: \"count\", extTargetValue: 24 },\r\n\t\t\t{ value: \"ticks\", text: this.root.language.translateAny(\"ticks per row\"), extTarget: \"count\", extTargetValue: 1000 }\r\n\t\t]\r\n\t}, {\r\n\t\tkey: \"count\",\r\n\t\tname: this.root.language.translateAny(\"Count\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"valueArea\",\r\n\t\tname: this.root.language.translateAny(\"Value Area\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"upColor\",\r\n\t\tname: this.root.language.translateAny(\"Up volume\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"downColor\",\r\n\t\tname: this.root.language.translateAny(\"Down volume\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"axisWidth\",\r\n\t\tname: this.root.language.translateAny(\"Width %\"),\r\n\t\ttype: \"number\"\r\n\t}];\r\n\r\n\tpublic xAxis!: ValueAxis<AxisRendererX>;\r\n\r\n\tpublic upSeries!: ColumnSeries;\r\n\r\n\tprotected _previousColumn?: Graphics;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tif (volumeSeries) {\r\n\t\t\tconst chart = stockSeries.chart;\r\n\t\t\tconst root = this._root;\r\n\r\n\t\t\tif (chart) {\r\n\t\t\t\tconst yAxis = stockSeries.get(\"yAxis\") as any;\r\n\r\n\t\t\t\t(this._editableSettings as any)[0].options[1].extTargetValue = yAxis.getPrivate(\"step\") * 50;\r\n\r\n\t\t\t\tconst panelXAxis = stockSeries.get(\"xAxis\") as DateAxis<AxisRendererX>;\r\n\r\n\t\t\t\tpanelXAxis.on(\"start\", () => {\r\n\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t})\r\n\t\t\t\tpanelXAxis.on(\"end\", () => {\r\n\t\t\t\t\tthis.markDataDirty();\r\n\t\t\t\t})\r\n\r\n\t\t\t\tconst xRenderer = AxisRendererX.new(root, {});\r\n\t\t\t\txRenderer.grid.template.set(\"forceHidden\", true);\r\n\t\t\t\txRenderer.labels.template.set(\"forceHidden\", true);\r\n\r\n\t\t\t\tthis.xAxis = chart.xAxes.push(ValueAxis.new(root, {\r\n\t\t\t\t\tzoomable: false,\r\n\t\t\t\t\tstrictMinMax: true,\r\n\t\t\t\t\tpanX: false,\r\n\t\t\t\t\tpanY: false,\r\n\t\t\t\t\trenderer: xRenderer\r\n\t\t\t\t}));\r\n\r\n\t\t\t\tif (yAxis.get(\"renderer\").get(\"opposite\")) {\r\n\t\t\t\t\txRenderer.set(\"inversed\", true);\r\n\t\t\t\t\tthis.xAxis.setAll({\r\n\t\t\t\t\t\tx: percent(100),\r\n\t\t\t\t\t\tcenterX: percent(100)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.series = chart.series.unshift(ColumnSeries.new(root, {\r\n\t\t\t\t\txAxis: this.xAxis,\r\n\t\t\t\t\tyAxis: yAxis,\r\n\t\t\t\t\tvalueXField: \"down\",\r\n\t\t\t\t\topenValueXField: \"xOpen\",\r\n\t\t\t\t\topenValueYField: \"yOpen\",\r\n\t\t\t\t\tvalueYField: \"y\",\r\n\t\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\t\tthemeTags: [\"indicator\", \"volumeprofile\"]\r\n\t\t\t\t}))\r\n\r\n\r\n\t\t\t\tthis.upSeries = chart.series.unshift(ColumnSeries.new(root, {\r\n\t\t\t\t\txAxis: this.xAxis,\r\n\t\t\t\t\tyAxis: yAxis,\r\n\t\t\t\t\tvalueXField: \"total\",\r\n\t\t\t\t\topenValueXField: \"down\",\r\n\t\t\t\t\topenValueYField: \"yOpen\",\r\n\t\t\t\t\tvalueYField: \"y\",\r\n\t\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\t\tthemeTags: [\"indicator\", \"volumeprofile\"]\r\n\t\t\t\t}))\r\n\r\n\t\t\t\tthis.upSeries.setPrivate(\"doNotUpdateLegend\", true);\r\n\t\t\t\tthis.series.setPrivate(\"doNotUpdateLegend\", true);\r\n\r\n\t\t\t\tthis.upSeries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\t\t\t\tthis.series.setPrivate(\"baseValueSeries\", stockSeries);\r\n\r\n\t\t\t\tthis._handleLegend(this.series);\r\n\r\n\t\t\t\tthis._addInteractivity(this.series);\r\n\t\t\t\tthis._addInteractivity(this.upSeries);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addInteractivity(series: ColumnSeries) {\r\n\t\tseries.columns.template.events.on(\"pointerover\", (e) => {\r\n\t\t\tlet dataItem = e.target.dataItem;\r\n\r\n\t\t\tif (dataItem) {\r\n\t\t\t\tif (dataItem.component == this.upSeries) {\r\n\t\t\t\t\tdataItem = this.series.dataItems[this.upSeries.dataItems.indexOf(dataItem)];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst column = dataItem.get(\"graphics\" as any);\r\n\t\t\t\t\t\tif (column) {\r\n\t\t\t\t\t\t\tcolumn.hover();\r\n\t\t\t\t\t\t\tthis._previousColumn = column;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdataItem = this.upSeries.dataItems[this.series.dataItems.indexOf(dataItem)];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst column = dataItem.get(\"graphics\" as any);\r\n\t\t\t\t\t\tif (column) {\r\n\t\t\t\t\t\t\tcolumn.hover();\r\n\t\t\t\t\t\t\tthis._previousColumn = column;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.series.updateLegendValue(dataItem);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tseries.columns.template.events.on(\"pointerout\", () => {\r\n\t\t\tthis.series.updateLegendValue(undefined);\r\n\t\t\tif (this._previousColumn) {\r\n\t\t\t\tthis._previousColumn.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tseries.columns.template.adapters.add(\"fillOpacity\", (fillOpacity, target) => {\r\n\t\t\tconst dataItem = target.dataItem;\r\n\t\t\tif (dataItem) {\r\n\t\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\t\tif (dataContext) {\r\n\t\t\t\t\tif (dataContext.area) {\r\n\t\t\t\t\t\treturn this.get(\"valueAreaOpacity\", .7);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn fillOpacity;\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _updateChildren(): void {\r\n\t\tif (this.series) {\r\n\t\t\tsuper._updateChildren();\r\n\r\n\t\t\tif (this.isDirty(\"count\") || this.isDirty(\"countType\") || this.isDirty(\"valueArea\")) {\r\n\t\t\t\tthis.markDataDirty();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isDirty(\"upColor\")) {\r\n\t\t\t\tconst upColor = this.get(\"upColor\");\r\n\t\t\t\tthis.upSeries.set(\"fill\", upColor);\r\n\t\t\t\tthis.upSeries.set(\"stroke\", upColor);\r\n\t\t\t\tthis.setCustomData(\"upColor\", upColor);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isDirty(\"downColor\")) {\r\n\t\t\t\tconst downColor = this.get(\"downColor\");\r\n\t\t\t\tthis.series.set(\"fill\", downColor);\r\n\t\t\t\tthis.series.set(\"stroke\", downColor);\r\n\t\t\t\tthis.setCustomData(\"downColor\", downColor);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isDirty(\"axisWidth\")) {\r\n\t\t\t\tthis.xAxis.set(\"width\", percent(this.get(\"axisWidth\", 40)));\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\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\r\n\t\tif (volumeSeries && this.series) {\r\n\t\t\tlet startIndex = volumeSeries.startIndex();\r\n\t\t\tlet endIndex = volumeSeries.endIndex();\r\n\r\n\t\t\tconst count = this.get(\"count\", 20);\r\n\t\t\tconst type = this.get(\"countType\");\r\n\t\t\tlet step = 1;\r\n\r\n\t\t\tlet min = Infinity;\r\n\t\t\tlet max = -Infinity;\r\n\r\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\r\n\t\t\t\tconst dataItem = stockSeries.dataItems[i];\r\n\t\t\t\tif (dataItem) {\r\n\t\t\t\t\tconst close = dataItem.get(\"valueY\");\r\n\t\t\t\t\tif ($type.isNumber(close)) {\r\n\t\t\t\t\t\tif (close < min) {\r\n\t\t\t\t\t\t\tmin = close;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (close > max) {\r\n\t\t\t\t\t\t\tmax = close;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (min != Infinity) {\r\n\r\n\t\t\t\tlet rows: number;\r\n\t\t\t\tif (type == \"ticks\") {\r\n\t\t\t\t\tstep = count / 100;\r\n\t\t\t\t\tmin = Math.floor(min / step) * step;\r\n\t\t\t\t\tmax = Math.ceil(max / step) * step;\r\n\t\t\t\t\trows = (max - min) / step;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstep = (max - min) / count;\r\n\t\t\t\t\trows = count;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst rowDataDown: Array<number> = [];\r\n\t\t\t\tconst rowDataUp: Array<number> = [];\r\n\r\n\t\t\t\tfor (let i = 0; i < rows; i++) {\r\n\t\t\t\t\trowDataDown[i] = 0;\r\n\t\t\t\t\trowDataUp[i] = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet previousDataItem;\r\n\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\r\n\t\t\t\t\tconst dataItem = stockSeries.dataItems[i];\r\n\t\t\t\t\tconst volumeDataItem = volumeSeries.dataItems[i];\r\n\t\t\t\t\tif (dataItem && volumeDataItem) {\r\n\t\t\t\t\t\tconst close = dataItem.get(\"valueY\");\r\n\t\t\t\t\t\tconst volume = volumeDataItem.get(\"valueY\");\r\n\r\n\t\t\t\t\t\tif ($type.isNumber(close) && $type.isNumber(volume)) {\r\n\t\t\t\t\t\t\tlet index = Math.floor((close - min) / step);\r\n\t\t\t\t\t\t\tif (index == count) {\r\n\t\t\t\t\t\t\t\tindex = count - 1;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif ($type.isNumber(index)) {\r\n\t\t\t\t\t\t\t\tif (previousDataItem && previousDataItem.get(\"valueY\", close) < close) {\r\n\t\t\t\t\t\t\t\t\trowDataDown[index] += volume;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\trowDataUp[index] += volume;\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\tpreviousDataItem = dataItem;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst dataDown = [];\r\n\t\t\t\tlet sum = 0;\r\n\t\t\t\tfor (let i = 0; i < rows; i++) {\r\n\t\t\t\t\tlet total = rowDataUp[i] + rowDataDown[i];\r\n\t\t\t\t\tsum += total;\r\n\r\n\t\t\t\t\tdataDown.push({\r\n\t\t\t\t\t\tyOpen: min + i * step,\r\n\t\t\t\t\t\ty: min + (i + 1) * step,\r\n\t\t\t\t\t\tup: rowDataUp[i],\r\n\t\t\t\t\t\tdown: rowDataDown[i],\r\n\t\t\t\t\t\ttotal: total,\r\n\t\t\t\t\t\txOpen: 0,\r\n\t\t\t\t\t\tarea: false\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet len = this.series.data.length;\r\n\t\t\t\tif (len && len == dataDown.length) {\r\n\t\t\t\t\tfor (let i = 0; i < len; i++) {\r\n\t\t\t\t\t\tthis.series.data.setIndex(i, dataDown[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.series.data.setAll(dataDown);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst dataUp = [];\r\n\r\n\t\t\t\tlet highest = 0;\r\n\t\t\t\tlet hi = 0;\r\n\r\n\t\t\t\tfor (let i = 0; i < rows; i++) {\r\n\t\t\t\t\tlet total = rowDataUp[i] + rowDataDown[i];\r\n\t\t\t\t\tdataUp.push({\r\n\t\t\t\t\t\tyOpen: min + i * step,\r\n\t\t\t\t\t\ty: min + (i + 1) * step,\r\n\t\t\t\t\t\tup: rowDataUp[i],\r\n\t\t\t\t\t\tdown: rowDataDown[i],\r\n\t\t\t\t\t\ttotal: total,\r\n\t\t\t\t\t\tarea: false\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\tif (total > highest) {\r\n\t\t\t\t\t\thighest = total;\r\n\t\t\t\t\t\thi = i;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet valueArea = sum * this.get(\"valueArea\", 70) / 100;\r\n\t\t\t\tlet area = highest;\r\n\r\n\t\t\t\tlet cd = 1;\r\n\t\t\t\tlet cu = 1;\r\n\t\t\t\tlet dlen = dataUp.length;\r\n\r\n\t\t\t\tdataUp[hi].area = true;\r\n\t\t\t\tdataDown[hi].area = true;\r\n\r\n\t\t\t\t/* \r\n\t\t\t\t// with two rows\r\n\t\t\t\twhile (area < valueArea) {\r\n\t\t\t\t\tlet rowAbove1 = hi + cu;\r\n\t\t\t\t\tlet rowAbove2 = hi + cu + 1;\r\n\r\n\t\t\t\t\tlet sumAbove = 0\r\n\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\tsumAbove += dataUp[rowAbove1].total;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (rowAbove2 < dlen) {\r\n\t\t\t\t\t\tsumAbove += dataUp[rowAbove2].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet rowBelow1 = hi - cd;\r\n\t\t\t\t\tlet rowBelow2 = hi - cd - 1;\r\n\r\n\t\t\t\t\tlet sumBelow = 0\r\n\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\tsumBelow += dataUp[rowBelow1].total;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (rowBelow2 >= 0) {\r\n\t\t\t\t\t\tsumBelow += dataUp[rowBelow2].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow <= sumAbove) {\r\n\t\t\t\t\t\tarea += sumAbove;\r\n\t\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\t\tdataDown[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (rowAbove2 < dlen) {\r\n\t\t\t\t\t\t\tdataDown[rowAbove2].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowAbove2].area = true;\r\n\t\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tarea += sumBelow;\r\n\t\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\t\tdataDown[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (rowBelow2 >= 0) {\r\n\t\t\t\t\t\t\tdataDown[rowBelow2].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowBelow2].area = true;\r\n\t\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow == 0) {\r\n\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (sumAbove == 0) {\r\n\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ((cd > dlen && cu > dlen)) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\t*/\r\n\r\n\t\t\t\t// single row\r\n\t\t\t\twhile (area < valueArea) {\r\n\t\t\t\t\tlet rowAbove1 = hi + cu;\r\n\t\t\t\t\tlet sumAbove = 0\r\n\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\tsumAbove += dataUp[rowAbove1].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet rowBelow1 = hi - cd;\r\n\r\n\t\t\t\t\tlet sumBelow = 0\r\n\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\tsumBelow += dataUp[rowBelow1].total;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow <= sumAbove) {\r\n\t\t\t\t\t\tarea += sumAbove;\r\n\t\t\t\t\t\tif (rowAbove1 < dlen) {\r\n\t\t\t\t\t\t\tdataDown[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowAbove1].area = true;\r\n\t\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tarea += sumBelow;\r\n\t\t\t\t\t\tif (rowBelow1 >= 0) {\r\n\t\t\t\t\t\t\tdataDown[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tdataUp[rowBelow1].area = true;\r\n\t\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (sumBelow == 0) {\r\n\t\t\t\t\t\tcd++;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (sumAbove == 0) {\r\n\t\t\t\t\t\tcu++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ((cd > dlen && cu > dlen)) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarea = Math.ceil(area);\r\n\r\n\t\t\t\tlen = this.upSeries.data.length;\r\n\t\t\t\tif (len > 0 && len == dataUp.length) {\r\n\t\t\t\t\tfor (let i = 0; i < len; i++) {\r\n\t\t\t\t\t\tthis.upSeries.data.setIndex(i, dataUp[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.upSeries.data.setAll(dataUp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\t\tif (this.upSeries) {\r\n\t\t\tthis.upSeries.dispose();\r\n\t\t}\r\n\r\n\t\tif (this.xAxis) {\r\n\t\t\tthis.xAxis.dispose();\r\n\t\t}\r\n\t}\r\n}"]}
@@ -2,7 +2,7 @@ import type { StockLegend } from "../StockLegend";
2
2
  import { Indicator } from "../indicators/Indicator";
3
3
  import { DropdownListControl, IDropdownListControlSettings, IDropdownListControlPrivate, IDropdownListControlEvents } from "./DropdownListControl";
4
4
  import type { DropdownList, IDropdownListItem } from "./DropdownList";
5
- export declare type Indicators = "Acceleration Bands" | "Accumulation Distribution" | "Accumulative Swing Index" | "Aroon" | "Awesome Oscillator" | "Bollinger Bands" | "Bull Bear Power" | "Chaikin Money Flow" | "Chaikin Oscillator" | "Commodity Channel Index" | "Disparity Index" | "MACD" | "Momentum" | "Moving Average" | "Moving Average Deviation" | "Moving Average Envelope" | "On Balance Volume" | "Relative Strength Index" | "Standard Deviation" | "Stochastic Oscillator" | "Stochastic Momentum Index" | "Trix" | "Typical Price" | "Volume" | "Volume Profile" | "VWAP" | "Williams R" | "Median Price" | "ZigZag";
5
+ export declare type Indicators = "Acceleration Bands" | "Accumulation Distribution" | "Accumulative Swing Index" | "Aroon" | "Awesome Oscillator" | "Bollinger Bands" | "Bull Bear Power" | "Chaikin Money Flow" | "Chaikin Oscillator" | "Commodity Channel Index" | "Disparity Index" | "MACD" | "Momentum" | "Moving Average" | "Moving Average Cross" | "Moving Average Deviation" | "Moving Average Envelope" | "On Balance Volume" | "Price Volume Trend" | "Relative Strength Index" | "Standard Deviation" | "Stochastic Oscillator" | "Stochastic Momentum Index" | "Trix" | "Typical Price" | "Volume" | "Volume Profile" | "VWAP" | "Williams R" | "Median Price" | "ZigZag";
6
6
  export interface IIndicator {
7
7
  id: string;
8
8
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorControl.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/IndicatorControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAmCpD,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnJ,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMtE,oBAAY,UAAU,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,OAAO,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEhmB,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B;IAC9E,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAC5E;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IAC1E,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;QACjC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;KAClC,CAAA;CACD;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IACxD,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuE;IAE/F,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,OAAO,EAAE,uBAAuB,CAAC;IAEhD,SAAS,CAAC,SAAS;IA4CnB,SAAS,CAAC,SAAS,IAAI,IAAI;IAyB3B;;;;;OAKG;IACI,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAM1D,SAAS,CAAC,eAAe,IAAI,UAAU;IAIhC,cAAc;IAOrB;;;;;OAKG;IACI,YAAY,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS;IAyPnE;;;;;;;;;;;OAWG;IACI,mBAAmB,CAAC,MAAM,GAAE,QAAQ,GAAG,QAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;IAqC5G;;;;;;;OAOG;IACI,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;CA2C7D"}
1
+ {"version":3,"file":"IndicatorControl.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/IndicatorControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAqCpD,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnJ,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMtE,oBAAY,UAAU,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,OAAO,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEhpB,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B;IAC9E,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAC5E;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IAC1E,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;QACjC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;KAClC,CAAA;CACD;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IACxD,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuE;IAE/F,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,OAAO,EAAE,uBAAuB,CAAC;IAEhD,SAAS,CAAC,SAAS;IA4CnB,SAAS,CAAC,SAAS,IAAI,IAAI;IAyB3B;;;;;OAKG;IACI,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAM1D,SAAS,CAAC,eAAe,IAAI,UAAU;IAIhC,cAAc;IAOrB;;;;;OAKG;IACI,YAAY,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS;IAwQnE;;;;;;;;;;;OAWG;IACI,mBAAmB,CAAC,MAAM,GAAE,QAAQ,GAAG,QAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;IAqC5G;;;;;;;OAOG;IACI,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;CA2C7D"}
@@ -11,6 +11,7 @@ import { ChaikinOscillator } from "../indicators/ChaikinOscillator";
11
11
  import { CommodityChannelIndex } from "../indicators/CommodityChannelIndex";
12
12
  import { DisparityIndex } from "../indicators/DisparityIndex";
13
13
  import { MACD } from "../indicators/MACD";
14
+ import { MACross } from "../indicators/MACross";
14
15
  import { MovingAverage } from "../indicators/MovingAverage";
15
16
  import { MovingAverageDeviation } from "../indicators/MovingAverageDeviation";
16
17
  import { MovingAverageEnvelope } from "../indicators/MovingAverageEnvelope";
@@ -18,6 +19,7 @@ import { StandardDeviation } from "../indicators/StandardDeviation";
18
19
  import { TypicalPrice } from "../indicators/TypicalPrice";
19
20
  import { MedianPrice } from "../indicators/MedianPrice";
20
21
  import { OnBalanceVolume } from "../indicators/OnBalanceVolume";
22
+ import { PVT } from "../indicators/PVT";
21
23
  import { Momentum } from "../indicators/Momentum";
22
24
  import { RelativeStrengthIndex } from "../indicators/RelativeStrengthIndex";
23
25
  import { StochasticMomentumIndex } from "../indicators/StochasticMomentumIndex";
@@ -108,7 +110,7 @@ export class IndicatorControl extends DropdownListControl {
108
110
  */
109
111
  supportsIndicator(indicatorId) {
110
112
  const stockChart = this.get("stockChart");
111
- const volumeIndicators = ["Chaikin Money Flow", "Chaikin Oscillator", "On Balance Volume", "Volume", "Volume Profile", "VWAP"];
113
+ const volumeIndicators = ["Chaikin Money Flow", "Chaikin Oscillator", "On Balance Volume", "Price Volume Trend", "Volume", "Volume Profile", "VWAP"];
112
114
  return (stockChart.get("volumeSeries") || volumeIndicators.indexOf(indicatorId) === -1) ? true : false;
113
115
  }
114
116
  _getDefaultIcon() {
@@ -235,6 +237,13 @@ export class IndicatorControl extends DropdownListControl {
235
237
  stockSeries: stockSeries
236
238
  });
237
239
  break;
240
+ case "Moving Average Cross":
241
+ indicator = MACross.new(this.root, {
242
+ stockChart: stockChart,
243
+ stockSeries: stockSeries,
244
+ legend: legend
245
+ });
246
+ break;
238
247
  case "Moving Average":
239
248
  indicator = MovingAverage.new(this.root, {
240
249
  stockChart: stockChart,
@@ -285,6 +294,14 @@ export class IndicatorControl extends DropdownListControl {
285
294
  legend: legend
286
295
  });
287
296
  break;
297
+ case "Price Volume Trend":
298
+ indicator = PVT.new(this.root, {
299
+ stockChart: stockChart,
300
+ stockSeries: stockSeries,
301
+ volumeSeries: volumeSeries,
302
+ legend: legend
303
+ });
304
+ break;
288
305
  case "Relative Strength Index":
289
306
  indicator = RelativeStrengthIndex.new(this.root, {
290
307
  stockChart: stockChart,
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorControl.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/IndicatorControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StockLegend } from \"../StockLegend\";\r\nimport type { StockPanel } from \"../StockPanel\";\r\n\r\nimport { Indicator } from \"../indicators/Indicator\";\r\nimport { AccelerationBands } from \"../indicators/AccelerationBands\";\r\nimport { AccumulationDistribution } from \"../indicators/AccumulationDistribution\";\r\nimport { AccumulativeSwingIndex } from \"../indicators/AccumulativeSwingIndex\";\r\nimport { Aroon } from \"../indicators/Aroon\";\r\nimport { AwesomeOscillator } from \"../indicators/AwesomeOscillator\";\r\nimport { BollingerBands } from \"../indicators/BollingerBands\";\r\nimport { BullBearPower } from \"../indicators/BullBearPower\";\r\nimport { ChaikinMoneyFlow } from \"../indicators/ChaikinMoneyFlow\";\r\nimport { ChaikinOscillator } from \"../indicators/ChaikinOscillator\";\r\nimport { CommodityChannelIndex } from \"../indicators/CommodityChannelIndex\";\r\nimport { DisparityIndex } from \"../indicators/DisparityIndex\";\r\nimport { MACD } from \"../indicators/MACD\";\r\nimport { MovingAverage } from \"../indicators/MovingAverage\";\r\nimport { MovingAverageDeviation } from \"../indicators/MovingAverageDeviation\";\r\nimport { MovingAverageEnvelope } from \"../indicators/MovingAverageEnvelope\";\r\nimport { StandardDeviation } from \"../indicators/StandardDeviation\";\r\nimport { TypicalPrice } from \"../indicators/TypicalPrice\";\r\nimport { MedianPrice } from \"../indicators/MedianPrice\";\r\nimport { OnBalanceVolume } from \"../indicators/OnBalanceVolume\";\r\nimport { Momentum } from \"../indicators/Momentum\";\r\nimport { RelativeStrengthIndex } from \"../indicators/RelativeStrengthIndex\";\r\nimport { StochasticMomentumIndex } from \"../indicators/StochasticMomentumIndex\";\r\nimport { StochasticOscillator } from \"../indicators/StochasticOscillator\";\r\nimport { WilliamsR } from \"../indicators/WilliamsR\";\r\nimport { Trix } from \"../indicators/Trix\";\r\nimport { Volume } from \"../indicators/Volume\";\r\nimport { VolumeProfile } from \"../indicators/VolumeProfile\";\r\nimport { VWAP } from \"../indicators/VWAP\";\r\nimport { ZigZag } from \"../indicators/ZigZag\";\r\n\r\nimport { JsonParser } from \"../../../plugins/json/Json\";\r\nimport { Serializer } from \"../../../plugins/json/Serializer\";\r\n\r\n//import type { IDisposer } from \"../../../core/util/Disposer\";\r\nimport { DropdownListControl, IDropdownListControlSettings, IDropdownListControlPrivate, IDropdownListControlEvents } from \"./DropdownListControl\";\r\nimport type { DropdownList, IDropdownListItem } from \"./DropdownList\";\r\nimport { StockIcons } from \"./StockIcons\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport type Indicators = \"Acceleration Bands\" | \"Accumulation Distribution\" | \"Accumulative Swing Index\" | \"Aroon\" | \"Awesome Oscillator\" | \"Bollinger Bands\" | \"Bull Bear Power\" | \"Chaikin Money Flow\" | \"Chaikin Oscillator\" | \"Commodity Channel Index\" | \"Disparity Index\" | \"MACD\" | \"Momentum\" | \"Moving Average\" | \"Moving Average Deviation\" | \"Moving Average Envelope\" | \"On Balance Volume\" | \"Relative Strength Index\" | \"Standard Deviation\" | \"Stochastic Oscillator\" | \"Stochastic Momentum Index\" | \"Trix\" | \"Typical Price\" | \"Volume\" | \"Volume Profile\" | \"VWAP\" | \"Williams R\" | \"Median Price\" | \"ZigZag\";\r\n\r\nexport interface IIndicator {\r\n\tid: string;\r\n\tname: string;\r\n\tcallback: () => Indicator;\r\n}\r\n\r\nexport interface IIndicatorControlSettings extends IDropdownListControlSettings {\r\n\tindicators?: Array<Indicators | IIndicator>;\r\n\tlegend?: StockLegend;\r\n}\r\n\r\nexport interface IIndicatorControlPrivate extends IDropdownListControlPrivate {\r\n\t/**\r\n\t * Here for backwards compatiblity befor [[IndicatorControl]] was\r\n\t * migrated to extend [[DropdownListControl]].\r\n\t *\r\n\t * @ignore\r\n\t */\r\n\tlist?: DropdownList;\r\n}\r\n\r\nexport interface IIndicatorControlEvents extends IDropdownListControlEvents {\r\n\tselected: {\r\n\t\titem: string | IDropdownListItem;\r\n\t\tindicator: Indicator | IIndicator;\r\n\t}\r\n}\r\n\r\n/**\r\n * A [[StockToolbar]] control for adding indicators to a [[StockChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/indicator-control/} for more info\r\n */\r\nexport class IndicatorControl extends DropdownListControl {\r\n\tpublic static className: string = \"IndicatorControl\";\r\n\tpublic static classNames: Array<string> = DropdownListControl.classNames.concat([IndicatorControl.className]);\r\n\r\n\tdeclare public _settings: IIndicatorControlSettings;\r\n\tdeclare public _privateSettings: IIndicatorControlPrivate;\r\n\tdeclare public _events: IIndicatorControlEvents;\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\t// Do parent stuff\r\n\t\tsuper._afterNew();\r\n\r\n\t\t// Create list of tools\r\n\t\tconst list = this.getPrivate(\"dropdown\")!;\r\n\t\tthis.setPrivate(\"list\", list);\r\n\r\n\t\tlist.events.on(\"invoked\", (ev) => {\r\n\t\t\tconst indicator = this.addIndicator(<Indicators>ev.item.id);\r\n\t\t\tif (this.events.isEnabled(\"selected\") && indicator) {\r\n\t\t\t\tthis.events.dispatch(\"selected\", {\r\n\t\t\t\t\ttype: \"selected\",\r\n\t\t\t\t\ttarget: this,\r\n\t\t\t\t\tindicator: indicator,\r\n\t\t\t\t\titem: ev.item\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tlist.events.on(\"closed\", (_ev) => {\r\n\t\t\tthis.set(\"active\", false);\r\n\t\t});\r\n\r\n\t\tthis.on(\"active\", (active) => {\r\n\t\t\tif (active) {\r\n\t\t\t\tthis.setTimeout(() => list.show(), 10);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlist.hide();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-control-dropdown\";\r\n\r\n\t\tthis._initList();\r\n\r\n\t\t// Re-nit list if volume series is added or removed so that we can show/hide\r\n\t\t// volume-dependent indicators\r\n\t\tthis.get(\"stockChart\").on(\"volumeSeries\", () => this._initList());\r\n\t}\r\n\r\n\tprotected _initList(): void {\r\n\t\tconst list = this.getPrivate(\"list\")!;\r\n\t\tconst indicators = this.get(\"indicators\")!;\r\n\t\tconst items: IDropdownListItem[] = [];\r\n\t\t$array.each(indicators, (indicator: Indicators | IIndicator) => {\r\n\t\t\tif ($type.isObject(indicator)) {\r\n\t\t\t\tif (this.supportsIndicator(indicator.id as Indicators)) {\r\n\t\t\t\t\titems.push({\r\n\t\t\t\t\t\tid: indicator.id,\r\n\t\t\t\t\t\tlabel: indicator.name\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.supportsIndicator(indicator as Indicators)) {\r\n\t\t\t\t\titems.push({\r\n\t\t\t\t\t\tid: indicator,\r\n\t\t\t\t\t\tlabel: this._root.language.translateAny(indicator)\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\tlist.set(\"items\", items);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the indicator is supported in current chart setup.\r\n\t * \r\n\t * @param indicatorId Indicator ID\r\n\t * @return Supported?\r\n\t */\r\n\tpublic supportsIndicator(indicatorId: Indicators): boolean {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst volumeIndicators = [\"Chaikin Money Flow\", \"Chaikin Oscillator\", \"On Balance Volume\", \"Volume\", \"Volume Profile\", \"VWAP\"];\r\n\t\treturn (stockChart.get(\"volumeSeries\") || volumeIndicators.indexOf(indicatorId) === -1) ? true : false;\r\n\t}\r\n\r\n\tprotected _getDefaultIcon(): SVGElement {\r\n\t\treturn StockIcons.getIcon(\"Indicator\");\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"indicators\")) {\r\n\t\t\tthis._initList();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Creates a specific indicator, adds it to chart, and returns the instance.\r\n\t * \r\n\t * @param indicatorId Indicator ID\r\n\t * @return Indicator instance\r\n\t */\r\n\tpublic addIndicator(indicatorId: Indicators): Indicator | undefined {\r\n\r\n\t\tif (!this.supportsIndicator(indicatorId)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tlet indicator: Indicator | undefined;\r\n\t\tconst stockSeries = stockChart.get(\"stockSeries\")!;\r\n\t\tconst volumeSeries = stockChart.get(\"volumeSeries\")!;\r\n\t\tconst legend = this.get(\"legend\");\r\n\r\n\t\tswitch (indicatorId) {\r\n\t\t\tcase \"Acceleration Bands\":\r\n\t\t\t\tindicator = AccelerationBands.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"Accumulation Distribution\":\r\n\t\t\t\tindicator = AccumulationDistribution.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Accumulative Swing Index\":\r\n\t\t\t\tindicator = AccumulativeSwingIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Aroon\":\r\n\t\t\t\tindicator = Aroon.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Awesome Oscillator\":\r\n\t\t\t\tindicator = AwesomeOscillator.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Bollinger Bands\":\r\n\t\t\t\tindicator = BollingerBands.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Bull Bear Power\":\r\n\t\t\t\t\tindicator = BullBearPower.new(this.root, {\r\n\t\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\t\tlegend: legend\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\t\t\t\t\r\n\t\t\tcase \"Chaikin Money Flow\":\r\n\t\t\t\tindicator = ChaikinMoneyFlow.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Chaikin Oscillator\":\r\n\t\t\t\tindicator = ChaikinOscillator.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Commodity Channel Index\":\r\n\t\t\t\tindicator = CommodityChannelIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Disparity Index\":\r\n\t\t\t\tindicator = DisparityIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"MACD\":\r\n\t\t\t\tindicator = MACD.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Median Price\":\r\n\t\t\t\tindicator = MedianPrice.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Momentum\":\r\n\t\t\t\tindicator = Momentum.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average\":\r\n\t\t\t\tindicator = MovingAverage.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average Deviation\":\r\n\t\t\t\tindicator = MovingAverageDeviation.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average Envelope\":\r\n\t\t\t\tindicator = MovingAverageEnvelope.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Standard Deviation\":\r\n\t\t\t\tindicator = StandardDeviation.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Trix\":\r\n\t\t\t\tindicator = Trix.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Typical Price\":\r\n\t\t\t\tindicator = TypicalPrice.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"On Balance Volume\":\r\n\t\t\t\tindicator = OnBalanceVolume.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Relative Strength Index\":\r\n\t\t\t\tindicator = RelativeStrengthIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Stochastic Momentum Index\":\r\n\t\t\t\tindicator = StochasticMomentumIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Stochastic Oscillator\":\r\n\t\t\t\tindicator = StochasticOscillator.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Williams R\":\r\n\t\t\t\tindicator = WilliamsR.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Volume\":\r\n\t\t\t\tindicator = Volume.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Volume Profile\":\r\n\t\t\t\tindicator = VolumeProfile.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"VWAP\":\r\n\t\t\t\tindicator = VWAP.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ZigZag\":\r\n\t\t\t\tindicator = ZigZag.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!indicator) {\r\n\t\t\t// Try searching in the list\r\n\t\t\t$array.eachContinue(this.get(\"indicators\", []), (item) => {\r\n\t\t\t\tif ($type.isObject(item) && item.id == indicatorId) {\r\n\t\t\t\t\tindicator = item.callback.call(this);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (indicator) {\r\n\t\t\tstockChart.indicators.push(indicator);\r\n\t\t\tif (indicator._editableSettings.length) {\r\n\t\t\t\tconst modal = stockChart.getPrivate(\"settingsModal\");\r\n\t\t\t\tmodal.events.once(\"done\", (ev) => {\r\n\t\t\t\t\tif (indicator) {\r\n\t\t\t\t\t\tif (!ev.settings) {\r\n\t\t\t\t\t\t\tindicator.dispose();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tmodal.openIndicator(indicator);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\treturn indicator;\r\n\t}\r\n\r\n\t/**\r\n\t * Serializes all available indicators into an array of simple objects or\r\n\t * JSON.\r\n\t *\r\n\t * `output` parameter can either be `\"object\"` or `\"string\"` (default).\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/serializing-indicators-annotations/} for more info\r\n\t * @since 5.3.0\r\n\t * @param output Output format\r\n\t * @param indent Line indent in JSON\r\n\t * @return Serialized indicators\r\n\t */\r\n\tpublic serializeIndicators(output: \"object\" | \"string\" = \"string\", indent?: string): Array<unknown> | string {\r\n\t\tconst res: Array<any> = [];\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tstockChart.indicators.each((indicator) => {\r\n\t\t\tconst serializer = Serializer.new(this._root, {\r\n\t\t\t\texcludeSettings: [\"stockChart\", \"stockSeries\", \"volumeSeries\", \"legend\"]\r\n\t\t\t});\r\n\r\n\t\t\t// Panel\r\n\t\t\tconst json: any = {};\r\n\r\n\t\t\t// Series and legend\r\n\t\t\tif (indicator.get(\"stockSeries\")) {\r\n\t\t\t\tjson.__stockSeries = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (indicator.get(\"volumeSeries\")) {\r\n\t\t\t\tjson.__volumeSeries = true;\r\n\t\t\t}\r\n\r\n\t\t\tconst legend = indicator.get(\"legend\");\r\n\t\t\tif (legend) {\r\n\t\t\t\tlegend._walkParents((parent) => {\r\n\t\t\t\t\tif (parent.isType(\"StockPanel\")) {\r\n\t\t\t\t\t\tjson.__legendIndex = stockChart.panels.indexOf(parent as StockPanel);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Serialize\r\n\t\t\tjson.__indicator = serializer.serialize(indicator, 0);\r\n\r\n\t\t\tres.push(json);\r\n\t\t});\r\n\t\treturn output == \"object\" ? res : JSON.stringify(res, undefined, indent);\r\n\t}\r\n\r\n\t/**\r\n\t * Parses data serialized with `serializeIndicators()` and adds indicators to\r\n\t * the chart.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/serializing-indicators-annotations/} for more info\r\n\t * @since 5.3.0\r\n\t * @param data Serialized data\r\n\t */\r\n\tpublic unserializeIndicators(data: string | Array<any>): void {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tif ($type.isString(data)) {\r\n\t\t\tdata = JSON.parse(data);\r\n\t\t}\r\n\t\t$array.each(data, (indicator) => {\r\n\r\n\t\t\t// Populate\r\n\t\t\tif (!indicator.__indicator.settings) {\r\n\t\t\t\tindicator.__indicator.settings = {};\r\n\t\t\t}\r\n\t\t\tindicator.__indicator.settings.stockChart = stockChart;\r\n\r\n\t\t\tif (indicator.__stockSeries && !indicator.__indicator.settings.stockSeries) {\r\n\t\t\t\tindicator.__indicator.settings.stockSeries = stockChart.get(\"stockSeries\");\r\n\t\t\t}\r\n\r\n\t\t\tif (indicator.__volumeSeries && !indicator.__indicator.settings.volumeSeries) {\r\n\t\t\t\tindicator.__indicator.settings.volumeSeries = stockChart.get(\"volumeSeries\");\r\n\t\t\t}\r\n\r\n\t\t\tif (indicator.__legendIndex !== undefined && !indicator.__indicator.settings.legend) {\r\n\t\t\t\t// Find a legend\r\n\t\t\t\tconst panel = stockChart.panels.getIndex(indicator.__legendIndex);\r\n\t\t\t\tif (panel) {\r\n\t\t\t\t\tpanel.walkChildren((child) => {\r\n\t\t\t\t\t\tif (child.isType(\"StockLegend\")) {\r\n\t\t\t\t\t\t\tindicator.__indicator.settings.legend = child;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Parse\r\n\t\t\tJsonParser.new(this._root).parse(indicator.__indicator).then((indicator: any) => {\r\n\t\t\t\tif (indicator instanceof Indicator) {\r\n\t\t\t\t\tstockChart.indicators.push(indicator);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t}\r\n\r\n}"]}
1
+ {"version":3,"file":"IndicatorControl.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/IndicatorControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StockLegend } from \"../StockLegend\";\r\nimport type { StockPanel } from \"../StockPanel\";\r\n\r\nimport { Indicator } from \"../indicators/Indicator\";\r\nimport { AccelerationBands } from \"../indicators/AccelerationBands\";\r\nimport { AccumulationDistribution } from \"../indicators/AccumulationDistribution\";\r\nimport { AccumulativeSwingIndex } from \"../indicators/AccumulativeSwingIndex\";\r\nimport { Aroon } from \"../indicators/Aroon\";\r\nimport { AwesomeOscillator } from \"../indicators/AwesomeOscillator\";\r\nimport { BollingerBands } from \"../indicators/BollingerBands\";\r\nimport { BullBearPower } from \"../indicators/BullBearPower\";\r\nimport { ChaikinMoneyFlow } from \"../indicators/ChaikinMoneyFlow\";\r\nimport { ChaikinOscillator } from \"../indicators/ChaikinOscillator\";\r\nimport { CommodityChannelIndex } from \"../indicators/CommodityChannelIndex\";\r\nimport { DisparityIndex } from \"../indicators/DisparityIndex\";\r\nimport { MACD } from \"../indicators/MACD\";\r\nimport { MACross } from \"../indicators/MACross\";\r\nimport { MovingAverage } from \"../indicators/MovingAverage\";\r\nimport { MovingAverageDeviation } from \"../indicators/MovingAverageDeviation\";\r\nimport { MovingAverageEnvelope } from \"../indicators/MovingAverageEnvelope\";\r\nimport { StandardDeviation } from \"../indicators/StandardDeviation\";\r\nimport { TypicalPrice } from \"../indicators/TypicalPrice\";\r\nimport { MedianPrice } from \"../indicators/MedianPrice\";\r\nimport { OnBalanceVolume } from \"../indicators/OnBalanceVolume\";\r\nimport { PVT } from \"../indicators/PVT\";\r\nimport { Momentum } from \"../indicators/Momentum\";\r\nimport { RelativeStrengthIndex } from \"../indicators/RelativeStrengthIndex\";\r\nimport { StochasticMomentumIndex } from \"../indicators/StochasticMomentumIndex\";\r\nimport { StochasticOscillator } from \"../indicators/StochasticOscillator\";\r\nimport { WilliamsR } from \"../indicators/WilliamsR\";\r\nimport { Trix } from \"../indicators/Trix\";\r\nimport { Volume } from \"../indicators/Volume\";\r\nimport { VolumeProfile } from \"../indicators/VolumeProfile\";\r\nimport { VWAP } from \"../indicators/VWAP\";\r\nimport { ZigZag } from \"../indicators/ZigZag\";\r\n\r\nimport { JsonParser } from \"../../../plugins/json/Json\";\r\nimport { Serializer } from \"../../../plugins/json/Serializer\";\r\n\r\n//import type { IDisposer } from \"../../../core/util/Disposer\";\r\nimport { DropdownListControl, IDropdownListControlSettings, IDropdownListControlPrivate, IDropdownListControlEvents } from \"./DropdownListControl\";\r\nimport type { DropdownList, IDropdownListItem } from \"./DropdownList\";\r\nimport { StockIcons } from \"./StockIcons\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport type Indicators = \"Acceleration Bands\" | \"Accumulation Distribution\" | \"Accumulative Swing Index\" | \"Aroon\" | \"Awesome Oscillator\" | \"Bollinger Bands\" | \"Bull Bear Power\" | \"Chaikin Money Flow\" | \"Chaikin Oscillator\" | \"Commodity Channel Index\" | \"Disparity Index\" | \"MACD\" | \"Momentum\" | \"Moving Average\" | \"Moving Average Cross\" | \"Moving Average Deviation\" | \"Moving Average Envelope\" | \"On Balance Volume\" | \"Price Volume Trend\" | \"Relative Strength Index\" | \"Standard Deviation\" | \"Stochastic Oscillator\" | \"Stochastic Momentum Index\" | \"Trix\" | \"Typical Price\" | \"Volume\" | \"Volume Profile\" | \"VWAP\" | \"Williams R\" | \"Median Price\" | \"ZigZag\";\r\n\r\nexport interface IIndicator {\r\n\tid: string;\r\n\tname: string;\r\n\tcallback: () => Indicator;\r\n}\r\n\r\nexport interface IIndicatorControlSettings extends IDropdownListControlSettings {\r\n\tindicators?: Array<Indicators | IIndicator>;\r\n\tlegend?: StockLegend;\r\n}\r\n\r\nexport interface IIndicatorControlPrivate extends IDropdownListControlPrivate {\r\n\t/**\r\n\t * Here for backwards compatiblity befor [[IndicatorControl]] was\r\n\t * migrated to extend [[DropdownListControl]].\r\n\t *\r\n\t * @ignore\r\n\t */\r\n\tlist?: DropdownList;\r\n}\r\n\r\nexport interface IIndicatorControlEvents extends IDropdownListControlEvents {\r\n\tselected: {\r\n\t\titem: string | IDropdownListItem;\r\n\t\tindicator: Indicator | IIndicator;\r\n\t}\r\n}\r\n\r\n/**\r\n * A [[StockToolbar]] control for adding indicators to a [[StockChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/indicator-control/} for more info\r\n */\r\nexport class IndicatorControl extends DropdownListControl {\r\n\tpublic static className: string = \"IndicatorControl\";\r\n\tpublic static classNames: Array<string> = DropdownListControl.classNames.concat([IndicatorControl.className]);\r\n\r\n\tdeclare public _settings: IIndicatorControlSettings;\r\n\tdeclare public _privateSettings: IIndicatorControlPrivate;\r\n\tdeclare public _events: IIndicatorControlEvents;\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\t// Do parent stuff\r\n\t\tsuper._afterNew();\r\n\r\n\t\t// Create list of tools\r\n\t\tconst list = this.getPrivate(\"dropdown\")!;\r\n\t\tthis.setPrivate(\"list\", list);\r\n\r\n\t\tlist.events.on(\"invoked\", (ev) => {\r\n\t\t\tconst indicator = this.addIndicator(<Indicators>ev.item.id);\r\n\t\t\tif (this.events.isEnabled(\"selected\") && indicator) {\r\n\t\t\t\tthis.events.dispatch(\"selected\", {\r\n\t\t\t\t\ttype: \"selected\",\r\n\t\t\t\t\ttarget: this,\r\n\t\t\t\t\tindicator: indicator,\r\n\t\t\t\t\titem: ev.item\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tlist.events.on(\"closed\", (_ev) => {\r\n\t\t\tthis.set(\"active\", false);\r\n\t\t});\r\n\r\n\t\tthis.on(\"active\", (active) => {\r\n\t\t\tif (active) {\r\n\t\t\t\tthis.setTimeout(() => list.show(), 10);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlist.hide();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-control-dropdown\";\r\n\r\n\t\tthis._initList();\r\n\r\n\t\t// Re-nit list if volume series is added or removed so that we can show/hide\r\n\t\t// volume-dependent indicators\r\n\t\tthis.get(\"stockChart\").on(\"volumeSeries\", () => this._initList());\r\n\t}\r\n\r\n\tprotected _initList(): void {\r\n\t\tconst list = this.getPrivate(\"list\")!;\r\n\t\tconst indicators = this.get(\"indicators\")!;\r\n\t\tconst items: IDropdownListItem[] = [];\r\n\t\t$array.each(indicators, (indicator: Indicators | IIndicator) => {\r\n\t\t\tif ($type.isObject(indicator)) {\r\n\t\t\t\tif (this.supportsIndicator(indicator.id as Indicators)) {\r\n\t\t\t\t\titems.push({\r\n\t\t\t\t\t\tid: indicator.id,\r\n\t\t\t\t\t\tlabel: indicator.name\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.supportsIndicator(indicator as Indicators)) {\r\n\t\t\t\t\titems.push({\r\n\t\t\t\t\t\tid: indicator,\r\n\t\t\t\t\t\tlabel: this._root.language.translateAny(indicator)\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\tlist.set(\"items\", items);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the indicator is supported in current chart setup.\r\n\t * \r\n\t * @param indicatorId Indicator ID\r\n\t * @return Supported?\r\n\t */\r\n\tpublic supportsIndicator(indicatorId: Indicators): boolean {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst volumeIndicators = [\"Chaikin Money Flow\", \"Chaikin Oscillator\", \"On Balance Volume\", \"Price Volume Trend\", \"Volume\", \"Volume Profile\", \"VWAP\"];\r\n\t\treturn (stockChart.get(\"volumeSeries\") || volumeIndicators.indexOf(indicatorId) === -1) ? true : false;\r\n\t}\r\n\r\n\tprotected _getDefaultIcon(): SVGElement {\r\n\t\treturn StockIcons.getIcon(\"Indicator\");\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"indicators\")) {\r\n\t\t\tthis._initList();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Creates a specific indicator, adds it to chart, and returns the instance.\r\n\t * \r\n\t * @param indicatorId Indicator ID\r\n\t * @return Indicator instance\r\n\t */\r\n\tpublic addIndicator(indicatorId: Indicators): Indicator | undefined {\r\n\r\n\t\tif (!this.supportsIndicator(indicatorId)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tlet indicator: Indicator | undefined;\r\n\t\tconst stockSeries = stockChart.get(\"stockSeries\")!;\r\n\t\tconst volumeSeries = stockChart.get(\"volumeSeries\")!;\r\n\t\tconst legend = this.get(\"legend\");\r\n\r\n\t\tswitch (indicatorId) {\r\n\t\t\tcase \"Acceleration Bands\":\r\n\t\t\t\tindicator = AccelerationBands.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"Accumulation Distribution\":\r\n\t\t\t\tindicator = AccumulationDistribution.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Accumulative Swing Index\":\r\n\t\t\t\tindicator = AccumulativeSwingIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Aroon\":\r\n\t\t\t\tindicator = Aroon.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Awesome Oscillator\":\r\n\t\t\t\tindicator = AwesomeOscillator.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Bollinger Bands\":\r\n\t\t\t\tindicator = BollingerBands.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Bull Bear Power\":\r\n\t\t\t\tindicator = BullBearPower.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Chaikin Money Flow\":\r\n\t\t\t\tindicator = ChaikinMoneyFlow.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Chaikin Oscillator\":\r\n\t\t\t\tindicator = ChaikinOscillator.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Commodity Channel Index\":\r\n\t\t\t\tindicator = CommodityChannelIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Disparity Index\":\r\n\t\t\t\tindicator = DisparityIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"MACD\":\r\n\t\t\t\tindicator = MACD.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Median Price\":\r\n\t\t\t\tindicator = MedianPrice.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Momentum\":\r\n\t\t\t\tindicator = Momentum.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average Cross\":\r\n\t\t\t\tindicator = MACross.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average\":\r\n\t\t\t\tindicator = MovingAverage.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average Deviation\":\r\n\t\t\t\tindicator = MovingAverageDeviation.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Moving Average Envelope\":\r\n\t\t\t\tindicator = MovingAverageEnvelope.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Standard Deviation\":\r\n\t\t\t\tindicator = StandardDeviation.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Trix\":\r\n\t\t\t\tindicator = Trix.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Typical Price\":\r\n\t\t\t\tindicator = TypicalPrice.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"On Balance Volume\":\r\n\t\t\t\tindicator = OnBalanceVolume.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Price Volume Trend\":\r\n\t\t\t\tindicator = PVT.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Relative Strength Index\":\r\n\t\t\t\tindicator = RelativeStrengthIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Stochastic Momentum Index\":\r\n\t\t\t\tindicator = StochasticMomentumIndex.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Stochastic Oscillator\":\r\n\t\t\t\tindicator = StochasticOscillator.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Williams R\":\r\n\t\t\t\tindicator = WilliamsR.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Volume\":\r\n\t\t\t\tindicator = Volume.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Volume Profile\":\r\n\t\t\t\tindicator = VolumeProfile.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"VWAP\":\r\n\t\t\t\tindicator = VWAP.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tvolumeSeries: volumeSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ZigZag\":\r\n\t\t\t\tindicator = ZigZag.new(this.root, {\r\n\t\t\t\t\tstockChart: stockChart,\r\n\t\t\t\t\tstockSeries: stockSeries,\r\n\t\t\t\t\tlegend: legend\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!indicator) {\r\n\t\t\t// Try searching in the list\r\n\t\t\t$array.eachContinue(this.get(\"indicators\", []), (item) => {\r\n\t\t\t\tif ($type.isObject(item) && item.id == indicatorId) {\r\n\t\t\t\t\tindicator = item.callback.call(this);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (indicator) {\r\n\t\t\tstockChart.indicators.push(indicator);\r\n\t\t\tif (indicator._editableSettings.length) {\r\n\t\t\t\tconst modal = stockChart.getPrivate(\"settingsModal\");\r\n\t\t\t\tmodal.events.once(\"done\", (ev) => {\r\n\t\t\t\t\tif (indicator) {\r\n\t\t\t\t\t\tif (!ev.settings) {\r\n\t\t\t\t\t\t\tindicator.dispose();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tmodal.openIndicator(indicator);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\treturn indicator;\r\n\t}\r\n\r\n\t/**\r\n\t * Serializes all available indicators into an array of simple objects or\r\n\t * JSON.\r\n\t *\r\n\t * `output` parameter can either be `\"object\"` or `\"string\"` (default).\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/serializing-indicators-annotations/} for more info\r\n\t * @since 5.3.0\r\n\t * @param output Output format\r\n\t * @param indent Line indent in JSON\r\n\t * @return Serialized indicators\r\n\t */\r\n\tpublic serializeIndicators(output: \"object\" | \"string\" = \"string\", indent?: string): Array<unknown> | string {\r\n\t\tconst res: Array<any> = [];\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tstockChart.indicators.each((indicator) => {\r\n\t\t\tconst serializer = Serializer.new(this._root, {\r\n\t\t\t\texcludeSettings: [\"stockChart\", \"stockSeries\", \"volumeSeries\", \"legend\"]\r\n\t\t\t});\r\n\r\n\t\t\t// Panel\r\n\t\t\tconst json: any = {};\r\n\r\n\t\t\t// Series and legend\r\n\t\t\tif (indicator.get(\"stockSeries\")) {\r\n\t\t\t\tjson.__stockSeries = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (indicator.get(\"volumeSeries\")) {\r\n\t\t\t\tjson.__volumeSeries = true;\r\n\t\t\t}\r\n\r\n\t\t\tconst legend = indicator.get(\"legend\");\r\n\t\t\tif (legend) {\r\n\t\t\t\tlegend._walkParents((parent) => {\r\n\t\t\t\t\tif (parent.isType(\"StockPanel\")) {\r\n\t\t\t\t\t\tjson.__legendIndex = stockChart.panels.indexOf(parent as StockPanel);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Serialize\r\n\t\t\tjson.__indicator = serializer.serialize(indicator, 0);\r\n\r\n\t\t\tres.push(json);\r\n\t\t});\r\n\t\treturn output == \"object\" ? res : JSON.stringify(res, undefined, indent);\r\n\t}\r\n\r\n\t/**\r\n\t * Parses data serialized with `serializeIndicators()` and adds indicators to\r\n\t * the chart.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/serializing-indicators-annotations/} for more info\r\n\t * @since 5.3.0\r\n\t * @param data Serialized data\r\n\t */\r\n\tpublic unserializeIndicators(data: string | Array<any>): void {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tif ($type.isString(data)) {\r\n\t\t\tdata = JSON.parse(data);\r\n\t\t}\r\n\t\t$array.each(data, (indicator) => {\r\n\r\n\t\t\t// Populate\r\n\t\t\tif (!indicator.__indicator.settings) {\r\n\t\t\t\tindicator.__indicator.settings = {};\r\n\t\t\t}\r\n\t\t\tindicator.__indicator.settings.stockChart = stockChart;\r\n\r\n\t\t\tif (indicator.__stockSeries && !indicator.__indicator.settings.stockSeries) {\r\n\t\t\t\tindicator.__indicator.settings.stockSeries = stockChart.get(\"stockSeries\");\r\n\t\t\t}\r\n\r\n\t\t\tif (indicator.__volumeSeries && !indicator.__indicator.settings.volumeSeries) {\r\n\t\t\t\tindicator.__indicator.settings.volumeSeries = stockChart.get(\"volumeSeries\");\r\n\t\t\t}\r\n\r\n\t\t\tif (indicator.__legendIndex !== undefined && !indicator.__indicator.settings.legend) {\r\n\t\t\t\t// Find a legend\r\n\t\t\t\tconst panel = stockChart.panels.getIndex(indicator.__legendIndex);\r\n\t\t\t\tif (panel) {\r\n\t\t\t\t\tpanel.walkChildren((child) => {\r\n\t\t\t\t\t\tif (child.isType(\"StockLegend\")) {\r\n\t\t\t\t\t\t\tindicator.__indicator.settings.legend = child;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Parse\r\n\t\t\tJsonParser.new(this._root).parse(indicator.__indicator).then((indicator: any) => {\r\n\t\t\t\tif (indicator instanceof Indicator) {\r\n\t\t\t\t\tstockChart.indicators.push(indicator);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t}\r\n\r\n}"]}
@@ -113,6 +113,7 @@ import type { LinearGradient } from "./render/gradients/LinearGradient.js";
113
113
  import type { LinkedHierarchy } from "./../charts/hierarchy/LinkedHierarchy.js";
114
114
  import type { LinkedHierarchyNode } from "./../charts/hierarchy/LinkedHierarchyNode.js";
115
115
  import type { MACD } from "./../charts/stock/indicators/MACD.js";
116
+ import type { MACross } from "./../charts/stock/indicators/MACross.js";
116
117
  import type { MapChart } from "./../charts/map/MapChart.js";
117
118
  import type { MapLine } from "./../charts/map/MapLine.js";
118
119
  import type { MapLineSeries } from "./../charts/map/MapLineSeries.js";
@@ -149,6 +150,7 @@ import type { PointedRectangle } from "./render/PointedRectangle.js";
149
150
  import type { Polygon } from "./render/Polygon.js";
150
151
  import type { PolylineSeries } from "./../charts/stock/drawing/PolylineSeries.js";
151
152
  import type { PyramidSeries } from "./../charts/funnel/PyramidSeries.js";
153
+ import type { PVT } from "./../charts/stock/indicators/PVT.js";
152
154
  import type { QuadrantLineSeries } from "./../charts/stock/drawing/QuadrantLineSeries.js";
153
155
  import type { RadarChart } from "./../charts/radar/RadarChart.js";
154
156
  import type { RadarColumnSeries } from "./../charts/radar/RadarColumnSeries.js";
@@ -333,6 +335,7 @@ export interface IClasses {
333
335
  "LinkedHierarchy": LinkedHierarchy;
334
336
  "LinkedHierarchyNode": LinkedHierarchyNode;
335
337
  "MACD": MACD;
338
+ "MACross": MACross;
336
339
  "MapChart": MapChart;
337
340
  "MapLine": MapLine;
338
341
  "MapLineSeries": MapLineSeries;
@@ -369,6 +372,7 @@ export interface IClasses {
369
372
  "Polygon": Polygon;
370
373
  "PolylineSeries": PolylineSeries;
371
374
  "PyramidSeries": PyramidSeries;
375
+ "PVT": PVT;
372
376
  "QuadrantLineSeries": QuadrantLineSeries;
373
377
  "RadarChart": RadarChart;
374
378
  "RadarColumnSeries": RadarColumnSeries;
@@ -1 +1 @@
1
- {"version":3,"file":"Classes.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Classes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Classes.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Classes.ts"],"names":[],"mappings":"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"}