aw-highstock_rails 7.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (697) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +7 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +22 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +53 -0
  9. data/Rakefile +10 -0
  10. data/aw-highstock_rails.gemspec +28 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/aw/highstock_rails.rb +9 -0
  14. data/lib/aw/highstock_rails/version.rb +5 -0
  15. data/vendor/assets/javascripts/highstock/css/annotations/popup.css +229 -0
  16. data/vendor/assets/javascripts/highstock/css/annotations/popup.scss +235 -0
  17. data/vendor/assets/javascripts/highstock/css/highcharts.css +890 -0
  18. data/vendor/assets/javascripts/highstock/css/highcharts.scss +788 -0
  19. data/vendor/assets/javascripts/highstock/css/stocktools/gui.css +268 -0
  20. data/vendor/assets/javascripts/highstock/css/stocktools/gui.scss +270 -0
  21. data/vendor/assets/javascripts/highstock/css/themes/dark-unica.css +951 -0
  22. data/vendor/assets/javascripts/highstock/css/themes/dark-unica.scss +122 -0
  23. data/vendor/assets/javascripts/highstock/css/themes/grid-light.css +904 -0
  24. data/vendor/assets/javascripts/highstock/css/themes/grid-light.scss +33 -0
  25. data/vendor/assets/javascripts/highstock/css/themes/sand-signika.css +920 -0
  26. data/vendor/assets/javascripts/highstock/css/themes/sand-signika.scss +74 -0
  27. data/vendor/assets/javascripts/highstock/es-modules/annotations/ControlPoint.js +130 -0
  28. data/vendor/assets/javascripts/highstock/es-modules/annotations/MockPoint.js +415 -0
  29. data/vendor/assets/javascripts/highstock/es-modules/annotations/annotations.src.js +1231 -0
  30. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableCircle.js +92 -0
  31. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableImage.js +101 -0
  32. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableLabel.js +452 -0
  33. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllablePath.js +175 -0
  34. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableRect.js +93 -0
  35. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/controllableMixin.js +411 -0
  36. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/markerMixin.js +214 -0
  37. data/vendor/assets/javascripts/highstock/es-modules/annotations/eventEmitterMixin.js +271 -0
  38. data/vendor/assets/javascripts/highstock/es-modules/annotations/navigationBindings.js +1283 -0
  39. data/vendor/assets/javascripts/highstock/es-modules/annotations/popup.js +1069 -0
  40. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/CrookedLine.js +191 -0
  41. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/ElliottWave.js +76 -0
  42. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Fibonacci.js +247 -0
  43. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/InfinityLine.js +185 -0
  44. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Measure.js +928 -0
  45. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Pitchfork.js +203 -0
  46. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Tunnel.js +242 -0
  47. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/VerticalLine.js +157 -0
  48. data/vendor/assets/javascripts/highstock/es-modules/error-messages.js +128 -0
  49. data/vendor/assets/javascripts/highstock/es-modules/error.js +1 -0
  50. data/vendor/assets/javascripts/highstock/es-modules/indicators/acceleration-bands.src.js +199 -0
  51. data/vendor/assets/javascripts/highstock/es-modules/indicators/accumulation-distribution.src.js +129 -0
  52. data/vendor/assets/javascripts/highstock/es-modules/indicators/ao.src.js +206 -0
  53. data/vendor/assets/javascripts/highstock/es-modules/indicators/apo.src.js +148 -0
  54. data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon-oscillator.src.js +128 -0
  55. data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon.src.js +173 -0
  56. data/vendor/assets/javascripts/highstock/es-modules/indicators/atr.src.js +151 -0
  57. data/vendor/assets/javascripts/highstock/es-modules/indicators/bollinger-bands.src.js +209 -0
  58. data/vendor/assets/javascripts/highstock/es-modules/indicators/cci.src.js +131 -0
  59. data/vendor/assets/javascripts/highstock/es-modules/indicators/chaikin.src.js +167 -0
  60. data/vendor/assets/javascripts/highstock/es-modules/indicators/cmf.src.js +246 -0
  61. data/vendor/assets/javascripts/highstock/es-modules/indicators/dema.src.js +191 -0
  62. data/vendor/assets/javascripts/highstock/es-modules/indicators/dpo.src.js +138 -0
  63. data/vendor/assets/javascripts/highstock/es-modules/indicators/ema.src.js +166 -0
  64. data/vendor/assets/javascripts/highstock/es-modules/indicators/ichimoku-kinko-hyo.src.js +850 -0
  65. data/vendor/assets/javascripts/highstock/es-modules/indicators/indicators.src.js +425 -0
  66. data/vendor/assets/javascripts/highstock/es-modules/indicators/keltner-channels.src.js +193 -0
  67. data/vendor/assets/javascripts/highstock/es-modules/indicators/macd.src.js +417 -0
  68. data/vendor/assets/javascripts/highstock/es-modules/indicators/mfi.src.js +198 -0
  69. data/vendor/assets/javascripts/highstock/es-modules/indicators/momentum.src.js +119 -0
  70. data/vendor/assets/javascripts/highstock/es-modules/indicators/natr.src.js +74 -0
  71. data/vendor/assets/javascripts/highstock/es-modules/indicators/pivot-points.src.js +360 -0
  72. data/vendor/assets/javascripts/highstock/es-modules/indicators/ppo.src.js +152 -0
  73. data/vendor/assets/javascripts/highstock/es-modules/indicators/price-channel.src.js +149 -0
  74. data/vendor/assets/javascripts/highstock/es-modules/indicators/price-envelopes.src.js +251 -0
  75. data/vendor/assets/javascripts/highstock/es-modules/indicators/psar.src.js +307 -0
  76. data/vendor/assets/javascripts/highstock/es-modules/indicators/regressions.src.js +427 -0
  77. data/vendor/assets/javascripts/highstock/es-modules/indicators/roc.src.js +149 -0
  78. data/vendor/assets/javascripts/highstock/es-modules/indicators/rsi.src.js +163 -0
  79. data/vendor/assets/javascripts/highstock/es-modules/indicators/stochastic.src.js +193 -0
  80. data/vendor/assets/javascripts/highstock/es-modules/indicators/supertrend.src.js +544 -0
  81. data/vendor/assets/javascripts/highstock/es-modules/indicators/tema.src.js +247 -0
  82. data/vendor/assets/javascripts/highstock/es-modules/indicators/trix.src.js +96 -0
  83. data/vendor/assets/javascripts/highstock/es-modules/indicators/volume-by-price.src.js +671 -0
  84. data/vendor/assets/javascripts/highstock/es-modules/indicators/vwap.src.js +189 -0
  85. data/vendor/assets/javascripts/highstock/es-modules/indicators/williams-r.src.js +128 -0
  86. data/vendor/assets/javascripts/highstock/es-modules/indicators/wma.src.js +146 -0
  87. data/vendor/assets/javascripts/highstock/es-modules/indicators/zigzag.src.js +221 -0
  88. data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-3d.src.js +17 -0
  89. data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-more.src.js +22 -0
  90. data/vendor/assets/javascripts/highstock/es-modules/masters/highstock.src.js +11 -0
  91. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/acceleration-bands.src.js +11 -0
  92. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/accumulation-distribution.src.js +11 -0
  93. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ao.src.js +11 -0
  94. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/apo.src.js +11 -0
  95. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon-oscillator.src.js +11 -0
  96. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon.src.js +11 -0
  97. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/atr.src.js +11 -0
  98. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/bollinger-bands.src.js +11 -0
  99. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cci.src.js +11 -0
  100. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/chaikin.src.js +11 -0
  101. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cmf.src.js +10 -0
  102. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dema.src.js +11 -0
  103. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dpo.src.js +11 -0
  104. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ema.src.js +11 -0
  105. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +11 -0
  106. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators-all.src.js +49 -0
  107. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators.src.js +11 -0
  108. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/keltner-channels.src.js +11 -0
  109. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/macd.src.js +11 -0
  110. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/mfi.src.js +11 -0
  111. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/momentum.src.js +11 -0
  112. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/natr.src.js +11 -0
  113. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/pivot-points.src.js +11 -0
  114. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ppo.src.js +11 -0
  115. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-channel.src.js +11 -0
  116. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-envelopes.src.js +11 -0
  117. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/psar.src.js +11 -0
  118. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/regressions.src.js +11 -0
  119. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/roc.src.js +11 -0
  120. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/rsi.src.js +11 -0
  121. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/stochastic.src.js +11 -0
  122. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/supertrend.src.js +11 -0
  123. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/tema.src.js +11 -0
  124. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/trix.src.js +11 -0
  125. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/volume-by-price.src.js +11 -0
  126. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/vwap.src.js +11 -0
  127. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/williams-r.src.js +11 -0
  128. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/wma.src.js +11 -0
  129. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/zigzag.src.js +11 -0
  130. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/accessibility.src.js +13 -0
  131. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations-advanced.src.js +20 -0
  132. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations.src.js +12 -0
  133. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/arrow-symbols.src.js +10 -0
  134. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost-canvas.src.js +11 -0
  135. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost.src.js +11 -0
  136. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/bullet.src.js +11 -0
  137. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/current-date-indicator.src.js +10 -0
  138. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/cylinder.src.js +10 -0
  139. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/data.src.js +10 -0
  140. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/datagrouping.src.js +12 -0
  141. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/debugger.src.js +13 -0
  142. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/dependency-wheel.src.js +10 -0
  143. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drag-panes.src.js +11 -0
  144. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/draggable-points.src.js +9 -0
  145. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drilldown.src.js +10 -0
  146. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/export-data.src.js +10 -0
  147. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/exporting.src.js +10 -0
  148. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/full-screen.src.js +11 -0
  149. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/funnel.src.js +10 -0
  150. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/grid-axis.src.js +10 -0
  151. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/heatmap.src.js +11 -0
  152. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/histogram-bellcurve.src.js +11 -0
  153. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/item-series.src.js +11 -0
  154. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/networkgraph.src.js +10 -0
  155. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/no-data-to-display.src.js +11 -0
  156. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/offline-exporting.src.js +10 -0
  157. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie-polyfills.src.js +11 -0
  158. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie.src.js +11 -0
  159. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/overlapping-datalabels.src.js +9 -0
  160. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/parallel-coordinates.src.js +11 -0
  161. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pareto.src.js +11 -0
  162. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pathfinder.src.js +10 -0
  163. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pattern-fill.src.js +11 -0
  164. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/price-indicator.src.js +11 -0
  165. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sankey.src.js +10 -0
  166. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/series-label.src.js +9 -0
  167. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/solid-gauge.src.js +10 -0
  168. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sonification.src.js +12 -0
  169. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/static-scale.src.js +10 -0
  170. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock-tools.src.js +12 -0
  171. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock.src.js +19 -0
  172. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/streamgraph.src.js +10 -0
  173. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sunburst.src.js +10 -0
  174. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/tilemap.src.js +10 -0
  175. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/timeline.src.js +11 -0
  176. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treegrid.src.js +10 -0
  177. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treemap.src.js +10 -0
  178. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variable-pie.src.js +11 -0
  179. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variwide.src.js +10 -0
  180. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/vector.src.js +10 -0
  181. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/venn.src.js +10 -0
  182. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/windbarb.src.js +10 -0
  183. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/wordcloud.src.js +10 -0
  184. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/xrange.src.js +10 -0
  185. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.js +9 -0
  186. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.src.js +9 -0
  187. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-blue.src.js +9 -0
  188. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-green.src.js +9 -0
  189. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-unica.src.js +9 -0
  190. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/gray.src.js +9 -0
  191. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid-light.src.js +9 -0
  192. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid.src.js +9 -0
  193. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sand-signika.src.js +9 -0
  194. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/skies.src.js +9 -0
  195. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.js +9 -0
  196. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.src.js +9 -0
  197. data/vendor/assets/javascripts/highstock/es-modules/mixins/ajax.js +123 -0
  198. data/vendor/assets/javascripts/highstock/es-modules/mixins/centered-series.js +116 -0
  199. data/vendor/assets/javascripts/highstock/es-modules/mixins/derived-series.js +150 -0
  200. data/vendor/assets/javascripts/highstock/es-modules/mixins/download-url.js +103 -0
  201. data/vendor/assets/javascripts/highstock/es-modules/mixins/draw-point.js +51 -0
  202. data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry-circles.js +300 -0
  203. data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry.js +50 -0
  204. data/vendor/assets/javascripts/highstock/es-modules/mixins/indicator-required.js +49 -0
  205. data/vendor/assets/javascripts/highstock/es-modules/mixins/multipe-lines.js +223 -0
  206. data/vendor/assets/javascripts/highstock/es-modules/mixins/navigation.js +59 -0
  207. data/vendor/assets/javascripts/highstock/es-modules/mixins/nodes.js +76 -0
  208. data/vendor/assets/javascripts/highstock/es-modules/mixins/on-series.js +167 -0
  209. data/vendor/assets/javascripts/highstock/es-modules/mixins/polygon.js +293 -0
  210. data/vendor/assets/javascripts/highstock/es-modules/mixins/reduce-array.js +53 -0
  211. data/vendor/assets/javascripts/highstock/es-modules/mixins/tree-series.js +256 -0
  212. data/vendor/assets/javascripts/highstock/es-modules/modules/a11y-i18n.src.js +524 -0
  213. data/vendor/assets/javascripts/highstock/es-modules/modules/annotations-legacy.src.js +1951 -0
  214. data/vendor/assets/javascripts/highstock/es-modules/modules/bellcurve.src.js +173 -0
  215. data/vendor/assets/javascripts/highstock/es-modules/modules/boost-canvas.src.js +732 -0
  216. data/vendor/assets/javascripts/highstock/es-modules/modules/boost.src.js +3730 -0
  217. data/vendor/assets/javascripts/highstock/es-modules/modules/bullet.src.js +361 -0
  218. data/vendor/assets/javascripts/highstock/es-modules/modules/cylinder.src.js +389 -0
  219. data/vendor/assets/javascripts/highstock/es-modules/modules/data.src.js +2417 -0
  220. data/vendor/assets/javascripts/highstock/es-modules/modules/debugger.src.js +109 -0
  221. data/vendor/assets/javascripts/highstock/es-modules/modules/dependency-wheel.src.js +199 -0
  222. data/vendor/assets/javascripts/highstock/es-modules/modules/drag-panes.src.js +624 -0
  223. data/vendor/assets/javascripts/highstock/es-modules/modules/draggable-points.src.js +2625 -0
  224. data/vendor/assets/javascripts/highstock/es-modules/modules/drilldown.src.js +1300 -0
  225. data/vendor/assets/javascripts/highstock/es-modules/modules/export-data.src.js +983 -0
  226. data/vendor/assets/javascripts/highstock/es-modules/modules/exporting.src.js +2149 -0
  227. data/vendor/assets/javascripts/highstock/es-modules/modules/full-screen.src.js +40 -0
  228. data/vendor/assets/javascripts/highstock/es-modules/modules/funnel.src.js +552 -0
  229. data/vendor/assets/javascripts/highstock/es-modules/modules/histogram.src.js +229 -0
  230. data/vendor/assets/javascripts/highstock/es-modules/modules/item-series.src.js +150 -0
  231. data/vendor/assets/javascripts/highstock/es-modules/modules/keyboard-navigation.src.js +1606 -0
  232. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/QuadTree.js +175 -0
  233. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/layouts.js +506 -0
  234. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/networkgraph.src.js +740 -0
  235. data/vendor/assets/javascripts/highstock/es-modules/modules/no-data-to-display.src.js +260 -0
  236. data/vendor/assets/javascripts/highstock/es-modules/modules/offline-exporting.src.js +710 -0
  237. data/vendor/assets/javascripts/highstock/es-modules/modules/oldie-polyfills.src.js +121 -0
  238. data/vendor/assets/javascripts/highstock/es-modules/modules/oldie.src.js +1556 -0
  239. data/vendor/assets/javascripts/highstock/es-modules/modules/overlapping-datalabels.src.js +250 -0
  240. data/vendor/assets/javascripts/highstock/es-modules/modules/parallel-coordinates.src.js +492 -0
  241. data/vendor/assets/javascripts/highstock/es-modules/modules/pareto.src.js +152 -0
  242. data/vendor/assets/javascripts/highstock/es-modules/modules/pattern-fill.src.js +607 -0
  243. data/vendor/assets/javascripts/highstock/es-modules/modules/price-indicator.src.js +149 -0
  244. data/vendor/assets/javascripts/highstock/es-modules/modules/sankey.src.js +809 -0
  245. data/vendor/assets/javascripts/highstock/es-modules/modules/screen-reader.src.js +954 -0
  246. data/vendor/assets/javascripts/highstock/es-modules/modules/series-label.src.js +1042 -0
  247. data/vendor/assets/javascripts/highstock/es-modules/modules/solid-gauge.src.js +486 -0
  248. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Earcon.js +184 -0
  249. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Instrument.js +582 -0
  250. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Timeline.js +702 -0
  251. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/chartSonify.js +1026 -0
  252. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/instrumentDefinitions.js +37 -0
  253. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/musicalFrequencies.js +113 -0
  254. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/pointSonify.js +385 -0
  255. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/sonification.js +107 -0
  256. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/utilities.js +178 -0
  257. data/vendor/assets/javascripts/highstock/es-modules/modules/static-scale.src.js +88 -0
  258. data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-bindings.js +1950 -0
  259. data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-gui.js +1458 -0
  260. data/vendor/assets/javascripts/highstock/es-modules/modules/streamgraph.src.js +132 -0
  261. data/vendor/assets/javascripts/highstock/es-modules/modules/sunburst.src.js +1041 -0
  262. data/vendor/assets/javascripts/highstock/es-modules/modules/tilemap.src.js +769 -0
  263. data/vendor/assets/javascripts/highstock/es-modules/modules/timeline.src.js +750 -0
  264. data/vendor/assets/javascripts/highstock/es-modules/modules/treemap.src.js +1803 -0
  265. data/vendor/assets/javascripts/highstock/es-modules/modules/variable-pie.src.js +459 -0
  266. data/vendor/assets/javascripts/highstock/es-modules/modules/variwide.src.js +350 -0
  267. data/vendor/assets/javascripts/highstock/es-modules/modules/vector.src.js +354 -0
  268. data/vendor/assets/javascripts/highstock/es-modules/modules/venn.src.js +1192 -0
  269. data/vendor/assets/javascripts/highstock/es-modules/modules/windbarb.src.js +380 -0
  270. data/vendor/assets/javascripts/highstock/es-modules/modules/wordcloud.src.js +1103 -0
  271. data/vendor/assets/javascripts/highstock/es-modules/modules/xrange.src.js +761 -0
  272. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Axis.js +669 -0
  273. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Chart.js +1753 -0
  274. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Column.js +437 -0
  275. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Math.js +206 -0
  276. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Pie.js +207 -0
  277. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/SVGRenderer.js +1002 -0
  278. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Scatter.js +154 -0
  279. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Series.js +73 -0
  280. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/VMLRenderer.js +62 -0
  281. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/ArrowSymbols.js +198 -0
  282. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/CurrentDateIndicator.js +100 -0
  283. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttChart.js +140 -0
  284. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttSeries.js +415 -0
  285. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GridAxis.js +961 -0
  286. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Pathfinder.js +1298 -0
  287. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/PathfinderAlgorithms.js +816 -0
  288. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Tree.js +158 -0
  289. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/TreeGrid.js +1003 -0
  290. data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorAxis.js +1103 -0
  291. data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorSeriesMixin.js +138 -0
  292. data/vendor/assets/javascripts/highstock/es-modules/parts-map/GeoJSON.js +435 -0
  293. data/vendor/assets/javascripts/highstock/es-modules/parts-map/HeatmapSeries.js +474 -0
  294. data/vendor/assets/javascripts/highstock/es-modules/parts-map/Map.js +477 -0
  295. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapAxis.js +124 -0
  296. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapBubbleSeries.js +274 -0
  297. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapLineSeries.js +143 -0
  298. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapNavigation.js +357 -0
  299. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointSeries.js +187 -0
  300. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointer.js +132 -0
  301. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapSeries.js +1294 -0
  302. data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaRangeSeries.js +725 -0
  303. data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaSplineRangeSeries.js +98 -0
  304. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BoxPlotSeries.js +617 -0
  305. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleLegend.js +1167 -0
  306. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleSeries.js +661 -0
  307. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnPyramidSeries.js +288 -0
  308. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnRangeSeries.js +278 -0
  309. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ErrorBarSeries.js +172 -0
  310. data/vendor/assets/javascripts/highstock/es-modules/parts-more/GaugeSeries.js +618 -0
  311. data/vendor/assets/javascripts/highstock/es-modules/parts-more/PackedBubbleSeries.js +567 -0
  312. data/vendor/assets/javascripts/highstock/es-modules/parts-more/Pane.js +399 -0
  313. data/vendor/assets/javascripts/highstock/es-modules/parts-more/Polar.js +634 -0
  314. data/vendor/assets/javascripts/highstock/es-modules/parts-more/PolygonSeries.js +151 -0
  315. data/vendor/assets/javascripts/highstock/es-modules/parts-more/RadialAxis.js +685 -0
  316. data/vendor/assets/javascripts/highstock/es-modules/parts-more/WaterfallSeries.js +765 -0
  317. data/vendor/assets/javascripts/highstock/es-modules/parts.js +684 -0
  318. data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSeries.js +578 -0
  319. data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSplineSeries.js +122 -0
  320. data/vendor/assets/javascripts/highstock/es-modules/parts/Axis.js +6453 -0
  321. data/vendor/assets/javascripts/highstock/es-modules/parts/BarSeries.js +153 -0
  322. data/vendor/assets/javascripts/highstock/es-modules/parts/CandlestickSeries.js +358 -0
  323. data/vendor/assets/javascripts/highstock/es-modules/parts/Chart.js +2307 -0
  324. data/vendor/assets/javascripts/highstock/es-modules/parts/Color.js +301 -0
  325. data/vendor/assets/javascripts/highstock/es-modules/parts/ColumnSeries.js +1125 -0
  326. data/vendor/assets/javascripts/highstock/es-modules/parts/DataGrouping.js +1115 -0
  327. data/vendor/assets/javascripts/highstock/es-modules/parts/DataLabels.js +1431 -0
  328. data/vendor/assets/javascripts/highstock/es-modules/parts/DateTimeAxis.js +134 -0
  329. data/vendor/assets/javascripts/highstock/es-modules/parts/Dynamics.js +1301 -0
  330. data/vendor/assets/javascripts/highstock/es-modules/parts/FlagsSeries.js +739 -0
  331. data/vendor/assets/javascripts/highstock/es-modules/parts/Globals.js +75 -0
  332. data/vendor/assets/javascripts/highstock/es-modules/parts/Html.js +539 -0
  333. data/vendor/assets/javascripts/highstock/es-modules/parts/Interaction.js +1299 -0
  334. data/vendor/assets/javascripts/highstock/es-modules/parts/Legend.js +1411 -0
  335. data/vendor/assets/javascripts/highstock/es-modules/parts/LogarithmicAxis.js +168 -0
  336. data/vendor/assets/javascripts/highstock/es-modules/parts/MSPointer.js +176 -0
  337. data/vendor/assets/javascripts/highstock/es-modules/parts/Navigator.js +2486 -0
  338. data/vendor/assets/javascripts/highstock/es-modules/parts/OHLCSeries.js +412 -0
  339. data/vendor/assets/javascripts/highstock/es-modules/parts/Options.js +3732 -0
  340. data/vendor/assets/javascripts/highstock/es-modules/parts/OrdinalAxis.js +962 -0
  341. data/vendor/assets/javascripts/highstock/es-modules/parts/PieSeries.js +1328 -0
  342. data/vendor/assets/javascripts/highstock/es-modules/parts/PlotBandSeries.experimental.js +74 -0
  343. data/vendor/assets/javascripts/highstock/es-modules/parts/PlotLineOrBand.js +1061 -0
  344. data/vendor/assets/javascripts/highstock/es-modules/parts/Point.js +681 -0
  345. data/vendor/assets/javascripts/highstock/es-modules/parts/Pointer.js +1332 -0
  346. data/vendor/assets/javascripts/highstock/es-modules/parts/RangeSelector.js +2063 -0
  347. data/vendor/assets/javascripts/highstock/es-modules/parts/Responsive.js +295 -0
  348. data/vendor/assets/javascripts/highstock/es-modules/parts/ScatterSeries.js +278 -0
  349. data/vendor/assets/javascripts/highstock/es-modules/parts/ScrollablePlotArea.js +266 -0
  350. data/vendor/assets/javascripts/highstock/es-modules/parts/Scrollbar.js +1134 -0
  351. data/vendor/assets/javascripts/highstock/es-modules/parts/Series.js +5864 -0
  352. data/vendor/assets/javascripts/highstock/es-modules/parts/SplineSeries.js +267 -0
  353. data/vendor/assets/javascripts/highstock/es-modules/parts/Stacking.js +604 -0
  354. data/vendor/assets/javascripts/highstock/es-modules/parts/StockChart.js +951 -0
  355. data/vendor/assets/javascripts/highstock/es-modules/parts/SvgRenderer.js +5109 -0
  356. data/vendor/assets/javascripts/highstock/es-modules/parts/Tick.js +746 -0
  357. data/vendor/assets/javascripts/highstock/es-modules/parts/Time.js +881 -0
  358. data/vendor/assets/javascripts/highstock/es-modules/parts/Tooltip.js +1318 -0
  359. data/vendor/assets/javascripts/highstock/es-modules/parts/TouchPointer.js +404 -0
  360. data/vendor/assets/javascripts/highstock/es-modules/parts/Utilities.js +2751 -0
  361. data/vendor/assets/javascripts/highstock/es-modules/themes/avocado.js +37 -0
  362. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-blue.js +259 -0
  363. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-green.js +261 -0
  364. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-unica.js +220 -0
  365. data/vendor/assets/javascripts/highstock/es-modules/themes/gray.js +267 -0
  366. data/vendor/assets/javascripts/highstock/es-modules/themes/grid-light.js +81 -0
  367. data/vendor/assets/javascripts/highstock/es-modules/themes/grid.js +110 -0
  368. data/vendor/assets/javascripts/highstock/es-modules/themes/sand-signika.js +111 -0
  369. data/vendor/assets/javascripts/highstock/es-modules/themes/skies.js +100 -0
  370. data/vendor/assets/javascripts/highstock/es-modules/themes/sunset.js +36 -0
  371. data/vendor/assets/javascripts/highstock/highcharts-3d.js +85 -0
  372. data/vendor/assets/javascripts/highstock/highcharts-3d.js.map +1 -0
  373. data/vendor/assets/javascripts/highstock/highcharts-more.js +101 -0
  374. data/vendor/assets/javascripts/highstock/highcharts-more.js.map +1 -0
  375. data/vendor/assets/javascripts/highstock/highstock.js +583 -0
  376. data/vendor/assets/javascripts/highstock/highstock.js.map +1 -0
  377. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js +16 -0
  378. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js.map +1 -0
  379. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.src.js +448 -0
  380. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js +12 -0
  381. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js.map +1 -0
  382. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.src.js +156 -0
  383. data/vendor/assets/javascripts/highstock/indicators/ao.js +13 -0
  384. data/vendor/assets/javascripts/highstock/indicators/ao.js.map +1 -0
  385. data/vendor/assets/javascripts/highstock/indicators/ao.src.js +233 -0
  386. data/vendor/assets/javascripts/highstock/indicators/apo.js +13 -0
  387. data/vendor/assets/javascripts/highstock/indicators/apo.js.map +1 -0
  388. data/vendor/assets/javascripts/highstock/indicators/apo.src.js +223 -0
  389. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js +15 -0
  390. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js.map +1 -0
  391. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.src.js +426 -0
  392. data/vendor/assets/javascripts/highstock/indicators/aroon.js +16 -0
  393. data/vendor/assets/javascripts/highstock/indicators/aroon.js.map +1 -0
  394. data/vendor/assets/javascripts/highstock/indicators/aroon.src.js +423 -0
  395. data/vendor/assets/javascripts/highstock/indicators/atr.js +12 -0
  396. data/vendor/assets/javascripts/highstock/indicators/atr.js.map +1 -0
  397. data/vendor/assets/javascripts/highstock/indicators/atr.src.js +178 -0
  398. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js +16 -0
  399. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js.map +1 -0
  400. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.src.js +458 -0
  401. data/vendor/assets/javascripts/highstock/indicators/cci.js +12 -0
  402. data/vendor/assets/javascripts/highstock/indicators/cci.js.map +1 -0
  403. data/vendor/assets/javascripts/highstock/indicators/cci.src.js +158 -0
  404. data/vendor/assets/javascripts/highstock/indicators/chaikin.js +15 -0
  405. data/vendor/assets/javascripts/highstock/indicators/chaikin.js.map +1 -0
  406. data/vendor/assets/javascripts/highstock/indicators/chaikin.src.js +370 -0
  407. data/vendor/assets/javascripts/highstock/indicators/cmf.js +12 -0
  408. data/vendor/assets/javascripts/highstock/indicators/cmf.js.map +1 -0
  409. data/vendor/assets/javascripts/highstock/indicators/cmf.src.js +273 -0
  410. data/vendor/assets/javascripts/highstock/indicators/dema.js +13 -0
  411. data/vendor/assets/javascripts/highstock/indicators/dema.js.map +1 -0
  412. data/vendor/assets/javascripts/highstock/indicators/dema.src.js +266 -0
  413. data/vendor/assets/javascripts/highstock/indicators/dpo.js +12 -0
  414. data/vendor/assets/javascripts/highstock/indicators/dpo.js.map +1 -0
  415. data/vendor/assets/javascripts/highstock/indicators/dpo.src.js +166 -0
  416. data/vendor/assets/javascripts/highstock/indicators/ema.js +12 -0
  417. data/vendor/assets/javascripts/highstock/indicators/ema.js.map +1 -0
  418. data/vendor/assets/javascripts/highstock/indicators/ema.src.js +193 -0
  419. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js +22 -0
  420. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js.map +1 -0
  421. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.src.js +877 -0
  422. data/vendor/assets/javascripts/highstock/indicators/indicators-all.js +117 -0
  423. data/vendor/assets/javascripts/highstock/indicators/indicators-all.js.map +1 -0
  424. data/vendor/assets/javascripts/highstock/indicators/indicators-all.src.js +9389 -0
  425. data/vendor/assets/javascripts/highstock/indicators/indicators.js +17 -0
  426. data/vendor/assets/javascripts/highstock/indicators/indicators.js.map +1 -0
  427. data/vendor/assets/javascripts/highstock/indicators/indicators.src.js +500 -0
  428. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js +16 -0
  429. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js.map +1 -0
  430. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.src.js +442 -0
  431. data/vendor/assets/javascripts/highstock/indicators/macd.js +18 -0
  432. data/vendor/assets/javascripts/highstock/indicators/macd.js.map +1 -0
  433. data/vendor/assets/javascripts/highstock/indicators/macd.src.js +444 -0
  434. data/vendor/assets/javascripts/highstock/indicators/mfi.js +13 -0
  435. data/vendor/assets/javascripts/highstock/indicators/mfi.js.map +1 -0
  436. data/vendor/assets/javascripts/highstock/indicators/mfi.src.js +225 -0
  437. data/vendor/assets/javascripts/highstock/indicators/momentum.js +12 -0
  438. data/vendor/assets/javascripts/highstock/indicators/momentum.js.map +1 -0
  439. data/vendor/assets/javascripts/highstock/indicators/momentum.src.js +146 -0
  440. data/vendor/assets/javascripts/highstock/indicators/natr.js +12 -0
  441. data/vendor/assets/javascripts/highstock/indicators/natr.js.map +1 -0
  442. data/vendor/assets/javascripts/highstock/indicators/natr.src.js +101 -0
  443. data/vendor/assets/javascripts/highstock/indicators/pivot-points.js +16 -0
  444. data/vendor/assets/javascripts/highstock/indicators/pivot-points.js.map +1 -0
  445. data/vendor/assets/javascripts/highstock/indicators/pivot-points.src.js +387 -0
  446. data/vendor/assets/javascripts/highstock/indicators/ppo.js +13 -0
  447. data/vendor/assets/javascripts/highstock/indicators/ppo.js.map +1 -0
  448. data/vendor/assets/javascripts/highstock/indicators/ppo.src.js +227 -0
  449. data/vendor/assets/javascripts/highstock/indicators/price-channel.js +16 -0
  450. data/vendor/assets/javascripts/highstock/indicators/price-channel.js.map +1 -0
  451. data/vendor/assets/javascripts/highstock/indicators/price-channel.src.js +450 -0
  452. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js +15 -0
  453. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js.map +1 -0
  454. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.src.js +278 -0
  455. data/vendor/assets/javascripts/highstock/indicators/psar.js +13 -0
  456. data/vendor/assets/javascripts/highstock/indicators/psar.js.map +1 -0
  457. data/vendor/assets/javascripts/highstock/indicators/psar.src.js +334 -0
  458. data/vendor/assets/javascripts/highstock/indicators/regressions.js +14 -0
  459. data/vendor/assets/javascripts/highstock/indicators/regressions.js.map +1 -0
  460. data/vendor/assets/javascripts/highstock/indicators/regressions.src.js +454 -0
  461. data/vendor/assets/javascripts/highstock/indicators/roc.js +12 -0
  462. data/vendor/assets/javascripts/highstock/indicators/roc.js.map +1 -0
  463. data/vendor/assets/javascripts/highstock/indicators/roc.src.js +176 -0
  464. data/vendor/assets/javascripts/highstock/indicators/rsi.js +12 -0
  465. data/vendor/assets/javascripts/highstock/indicators/rsi.js.map +1 -0
  466. data/vendor/assets/javascripts/highstock/indicators/rsi.src.js +190 -0
  467. data/vendor/assets/javascripts/highstock/indicators/stochastic.js +17 -0
  468. data/vendor/assets/javascripts/highstock/indicators/stochastic.js.map +1 -0
  469. data/vendor/assets/javascripts/highstock/indicators/stochastic.src.js +494 -0
  470. data/vendor/assets/javascripts/highstock/indicators/supertrend.js +17 -0
  471. data/vendor/assets/javascripts/highstock/indicators/supertrend.js.map +1 -0
  472. data/vendor/assets/javascripts/highstock/indicators/supertrend.src.js +571 -0
  473. data/vendor/assets/javascripts/highstock/indicators/tema.js +14 -0
  474. data/vendor/assets/javascripts/highstock/indicators/tema.js.map +1 -0
  475. data/vendor/assets/javascripts/highstock/indicators/tema.src.js +322 -0
  476. data/vendor/assets/javascripts/highstock/indicators/trix.js +12 -0
  477. data/vendor/assets/javascripts/highstock/indicators/trix.js.map +1 -0
  478. data/vendor/assets/javascripts/highstock/indicators/trix.src.js +171 -0
  479. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js +21 -0
  480. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js.map +1 -0
  481. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.src.js +698 -0
  482. data/vendor/assets/javascripts/highstock/indicators/vwap.js +12 -0
  483. data/vendor/assets/javascripts/highstock/indicators/vwap.js.map +1 -0
  484. data/vendor/assets/javascripts/highstock/indicators/vwap.src.js +216 -0
  485. data/vendor/assets/javascripts/highstock/indicators/williams-r.js +13 -0
  486. data/vendor/assets/javascripts/highstock/indicators/williams-r.js.map +1 -0
  487. data/vendor/assets/javascripts/highstock/indicators/williams-r.src.js +207 -0
  488. data/vendor/assets/javascripts/highstock/indicators/wma.js +12 -0
  489. data/vendor/assets/javascripts/highstock/indicators/wma.js.map +1 -0
  490. data/vendor/assets/javascripts/highstock/indicators/wma.src.js +173 -0
  491. data/vendor/assets/javascripts/highstock/indicators/zigzag.js +13 -0
  492. data/vendor/assets/javascripts/highstock/indicators/zigzag.js.map +1 -0
  493. data/vendor/assets/javascripts/highstock/indicators/zigzag.src.js +248 -0
  494. data/vendor/assets/javascripts/highstock/lib/canvg.js +130 -0
  495. data/vendor/assets/javascripts/highstock/lib/canvg.src.js +3073 -0
  496. data/vendor/assets/javascripts/highstock/lib/jspdf.js +283 -0
  497. data/vendor/assets/javascripts/highstock/lib/jspdf.src.js +21627 -0
  498. data/vendor/assets/javascripts/highstock/lib/rgbcolor.js +17 -0
  499. data/vendor/assets/javascripts/highstock/lib/rgbcolor.src.js +299 -0
  500. data/vendor/assets/javascripts/highstock/lib/svg2pdf.js +38 -0
  501. data/vendor/assets/javascripts/highstock/lib/svg2pdf.src.js +4390 -0
  502. data/vendor/assets/javascripts/highstock/modules/accessibility.js +73 -0
  503. data/vendor/assets/javascripts/highstock/modules/accessibility.js.map +1 -0
  504. data/vendor/assets/javascripts/highstock/modules/accessibility.src.js +3103 -0
  505. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js +132 -0
  506. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js.map +1 -0
  507. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.src.js +8230 -0
  508. data/vendor/assets/javascripts/highstock/modules/annotations.js +94 -0
  509. data/vendor/assets/javascripts/highstock/modules/annotations.js.map +1 -0
  510. data/vendor/assets/javascripts/highstock/modules/annotations.src.js +6001 -0
  511. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js +11 -0
  512. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js.map +1 -0
  513. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.src.js +225 -0
  514. data/vendor/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
  515. data/vendor/assets/javascripts/highstock/modules/boost-canvas.js.map +1 -0
  516. data/vendor/assets/javascripts/highstock/modules/boost-canvas.src.js +756 -0
  517. data/vendor/assets/javascripts/highstock/modules/boost.js +65 -0
  518. data/vendor/assets/javascripts/highstock/modules/boost.js.map +1 -0
  519. data/vendor/assets/javascripts/highstock/modules/boost.src.js +3752 -0
  520. data/vendor/assets/javascripts/highstock/modules/bullet.js +14 -0
  521. data/vendor/assets/javascripts/highstock/modules/bullet.js.map +1 -0
  522. data/vendor/assets/javascripts/highstock/modules/bullet.src.js +388 -0
  523. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js +11 -0
  524. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js.map +1 -0
  525. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.src.js +127 -0
  526. data/vendor/assets/javascripts/highstock/modules/cylinder.js +14 -0
  527. data/vendor/assets/javascripts/highstock/modules/cylinder.js.map +1 -0
  528. data/vendor/assets/javascripts/highstock/modules/cylinder.src.js +413 -0
  529. data/vendor/assets/javascripts/highstock/modules/data.js +37 -0
  530. data/vendor/assets/javascripts/highstock/modules/data.js.map +1 -0
  531. data/vendor/assets/javascripts/highstock/modules/data.src.js +2565 -0
  532. data/vendor/assets/javascripts/highstock/modules/datagrouping.js +25 -0
  533. data/vendor/assets/javascripts/highstock/modules/datagrouping.js.map +1 -0
  534. data/vendor/assets/javascripts/highstock/modules/datagrouping.src.js +1140 -0
  535. data/vendor/assets/javascripts/highstock/modules/debugger.js +28 -0
  536. data/vendor/assets/javascripts/highstock/modules/debugger.js.map +1 -0
  537. data/vendor/assets/javascripts/highstock/modules/debugger.src.js +267 -0
  538. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js +15 -0
  539. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js.map +1 -0
  540. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.src.js +301 -0
  541. data/vendor/assets/javascripts/highstock/modules/drag-panes.js +18 -0
  542. data/vendor/assets/javascripts/highstock/modules/drag-panes.js.map +1 -0
  543. data/vendor/assets/javascripts/highstock/modules/drag-panes.src.js +649 -0
  544. data/vendor/assets/javascripts/highstock/modules/draggable-points.js +40 -0
  545. data/vendor/assets/javascripts/highstock/modules/draggable-points.js.map +1 -0
  546. data/vendor/assets/javascripts/highstock/modules/draggable-points.src.js +2650 -0
  547. data/vendor/assets/javascripts/highstock/modules/drilldown.js +29 -0
  548. data/vendor/assets/javascripts/highstock/modules/drilldown.js.map +1 -0
  549. data/vendor/assets/javascripts/highstock/modules/drilldown.src.js +1321 -0
  550. data/vendor/assets/javascripts/highstock/modules/export-data.js +27 -0
  551. data/vendor/assets/javascripts/highstock/modules/export-data.js.map +1 -0
  552. data/vendor/assets/javascripts/highstock/modules/export-data.src.js +1234 -0
  553. data/vendor/assets/javascripts/highstock/modules/exporting.js +35 -0
  554. data/vendor/assets/javascripts/highstock/modules/exporting.js.map +1 -0
  555. data/vendor/assets/javascripts/highstock/modules/exporting.src.js +2233 -0
  556. data/vendor/assets/javascripts/highstock/modules/full-screen.js +11 -0
  557. data/vendor/assets/javascripts/highstock/modules/full-screen.js.map +1 -0
  558. data/vendor/assets/javascripts/highstock/modules/full-screen.src.js +68 -0
  559. data/vendor/assets/javascripts/highstock/modules/funnel.js +14 -0
  560. data/vendor/assets/javascripts/highstock/modules/funnel.js.map +1 -0
  561. data/vendor/assets/javascripts/highstock/modules/funnel.src.js +576 -0
  562. data/vendor/assets/javascripts/highstock/modules/grid-axis.js +23 -0
  563. data/vendor/assets/javascripts/highstock/modules/grid-axis.js.map +1 -0
  564. data/vendor/assets/javascripts/highstock/modules/grid-axis.src.js +988 -0
  565. data/vendor/assets/javascripts/highstock/modules/heatmap.js +28 -0
  566. data/vendor/assets/javascripts/highstock/modules/heatmap.js.map +1 -0
  567. data/vendor/assets/javascripts/highstock/modules/heatmap.src.js +1731 -0
  568. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js +16 -0
  569. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js.map +1 -0
  570. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.src.js +570 -0
  571. data/vendor/assets/javascripts/highstock/modules/item-series.js +13 -0
  572. data/vendor/assets/javascripts/highstock/modules/item-series.js.map +1 -0
  573. data/vendor/assets/javascripts/highstock/modules/item-series.src.js +176 -0
  574. data/vendor/assets/javascripts/highstock/modules/networkgraph.js +31 -0
  575. data/vendor/assets/javascripts/highstock/modules/networkgraph.js.map +1 -0
  576. data/vendor/assets/javascripts/highstock/modules/networkgraph.src.js +1348 -0
  577. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js +13 -0
  578. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js.map +1 -0
  579. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.src.js +285 -0
  580. data/vendor/assets/javascripts/highstock/modules/offline-exporting.js +22 -0
  581. data/vendor/assets/javascripts/highstock/modules/offline-exporting.js.map +1 -0
  582. data/vendor/assets/javascripts/highstock/modules/offline-exporting.src.js +838 -0
  583. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js +13 -0
  584. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js.map +1 -0
  585. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.src.js +150 -0
  586. data/vendor/assets/javascripts/highstock/modules/oldie.js +35 -0
  587. data/vendor/assets/javascripts/highstock/modules/oldie.js.map +1 -0
  588. data/vendor/assets/javascripts/highstock/modules/oldie.src.js +1582 -0
  589. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js +9 -0
  590. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +1 -0
  591. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +22 -0
  592. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js +18 -0
  593. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js.map +1 -0
  594. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.src.js +517 -0
  595. data/vendor/assets/javascripts/highstock/modules/pareto.js +14 -0
  596. data/vendor/assets/javascripts/highstock/modules/pareto.js.map +1 -0
  597. data/vendor/assets/javascripts/highstock/modules/pareto.src.js +327 -0
  598. data/vendor/assets/javascripts/highstock/modules/pathfinder.js +34 -0
  599. data/vendor/assets/javascripts/highstock/modules/pathfinder.js.map +1 -0
  600. data/vendor/assets/javascripts/highstock/modules/pathfinder.src.js +2336 -0
  601. data/vendor/assets/javascripts/highstock/modules/pattern-fill.js +21 -0
  602. data/vendor/assets/javascripts/highstock/modules/pattern-fill.js.map +1 -0
  603. data/vendor/assets/javascripts/highstock/modules/pattern-fill.src.js +634 -0
  604. data/vendor/assets/javascripts/highstock/modules/price-indicator.js +13 -0
  605. data/vendor/assets/javascripts/highstock/modules/price-indicator.js.map +1 -0
  606. data/vendor/assets/javascripts/highstock/modules/price-indicator.src.js +176 -0
  607. data/vendor/assets/javascripts/highstock/modules/sankey.js +22 -0
  608. data/vendor/assets/javascripts/highstock/modules/sankey.js.map +1 -0
  609. data/vendor/assets/javascripts/highstock/modules/sankey.src.js +911 -0
  610. data/vendor/assets/javascripts/highstock/modules/series-label.js +23 -0
  611. data/vendor/assets/javascripts/highstock/modules/series-label.js.map +1 -0
  612. data/vendor/assets/javascripts/highstock/modules/series-label.src.js +1065 -0
  613. data/vendor/assets/javascripts/highstock/modules/solid-gauge.js +15 -0
  614. data/vendor/assets/javascripts/highstock/modules/solid-gauge.js.map +1 -0
  615. data/vendor/assets/javascripts/highstock/modules/solid-gauge.src.js +510 -0
  616. data/vendor/assets/javascripts/highstock/modules/sonification.js +53 -0
  617. data/vendor/assets/javascripts/highstock/modules/sonification.js.map +1 -0
  618. data/vendor/assets/javascripts/highstock/modules/sonification.src.js +3341 -0
  619. data/vendor/assets/javascripts/highstock/modules/static-scale.js +12 -0
  620. data/vendor/assets/javascripts/highstock/modules/static-scale.js.map +1 -0
  621. data/vendor/assets/javascripts/highstock/modules/static-scale.src.js +114 -0
  622. data/vendor/assets/javascripts/highstock/modules/stock-tools.js +65 -0
  623. data/vendor/assets/javascripts/highstock/modules/stock-tools.js.map +1 -0
  624. data/vendor/assets/javascripts/highstock/modules/stock-tools.src.js +3437 -0
  625. data/vendor/assets/javascripts/highstock/modules/stock.js +151 -0
  626. data/vendor/assets/javascripts/highstock/modules/stock.js.map +1 -0
  627. data/vendor/assets/javascripts/highstock/modules/stock.src.js +10907 -0
  628. data/vendor/assets/javascripts/highstock/modules/streamgraph.js +10 -0
  629. data/vendor/assets/javascripts/highstock/modules/streamgraph.js.map +1 -0
  630. data/vendor/assets/javascripts/highstock/modules/streamgraph.src.js +158 -0
  631. data/vendor/assets/javascripts/highstock/modules/sunburst.js +52 -0
  632. data/vendor/assets/javascripts/highstock/modules/sunburst.js.map +1 -0
  633. data/vendor/assets/javascripts/highstock/modules/sunburst.src.js +3174 -0
  634. data/vendor/assets/javascripts/highstock/modules/tilemap.js +26 -0
  635. data/vendor/assets/javascripts/highstock/modules/tilemap.js.map +1 -0
  636. data/vendor/assets/javascripts/highstock/modules/tilemap.src.js +1402 -0
  637. data/vendor/assets/javascripts/highstock/modules/timeline.js +23 -0
  638. data/vendor/assets/javascripts/highstock/modules/timeline.js.map +1 -0
  639. data/vendor/assets/javascripts/highstock/modules/timeline.src.js +778 -0
  640. data/vendor/assets/javascripts/highstock/modules/treegrid.js +50 -0
  641. data/vendor/assets/javascripts/highstock/modules/treegrid.js.map +1 -0
  642. data/vendor/assets/javascripts/highstock/modules/treegrid.src.js +2917 -0
  643. data/vendor/assets/javascripts/highstock/modules/treemap.js +39 -0
  644. data/vendor/assets/javascripts/highstock/modules/treemap.js.map +1 -0
  645. data/vendor/assets/javascripts/highstock/modules/treemap.src.js +2083 -0
  646. data/vendor/assets/javascripts/highstock/modules/variable-pie.js +16 -0
  647. data/vendor/assets/javascripts/highstock/modules/variable-pie.js.map +1 -0
  648. data/vendor/assets/javascripts/highstock/modules/variable-pie.src.js +485 -0
  649. data/vendor/assets/javascripts/highstock/modules/variwide.js +15 -0
  650. data/vendor/assets/javascripts/highstock/modules/variwide.js.map +1 -0
  651. data/vendor/assets/javascripts/highstock/modules/variwide.src.js +376 -0
  652. data/vendor/assets/javascripts/highstock/modules/vector.js +13 -0
  653. data/vendor/assets/javascripts/highstock/modules/vector.js.map +1 -0
  654. data/vendor/assets/javascripts/highstock/modules/vector.src.js +381 -0
  655. data/vendor/assets/javascripts/highstock/modules/venn.js +30 -0
  656. data/vendor/assets/javascripts/highstock/modules/venn.js.map +1 -0
  657. data/vendor/assets/javascripts/highstock/modules/venn.src.js +1624 -0
  658. data/vendor/assets/javascripts/highstock/modules/windbarb.js +17 -0
  659. data/vendor/assets/javascripts/highstock/modules/windbarb.js.map +1 -0
  660. data/vendor/assets/javascripts/highstock/modules/windbarb.src.js +574 -0
  661. data/vendor/assets/javascripts/highstock/modules/wordcloud.js +25 -0
  662. data/vendor/assets/javascripts/highstock/modules/wordcloud.js.map +1 -0
  663. data/vendor/assets/javascripts/highstock/modules/wordcloud.src.js +1475 -0
  664. data/vendor/assets/javascripts/highstock/modules/xrange.js +20 -0
  665. data/vendor/assets/javascripts/highstock/modules/xrange.js.map +1 -0
  666. data/vendor/assets/javascripts/highstock/modules/xrange.src.js +788 -0
  667. data/vendor/assets/javascripts/highstock/themes/avocado.js +9 -0
  668. data/vendor/assets/javascripts/highstock/themes/avocado.js.map +1 -0
  669. data/vendor/assets/javascripts/highstock/themes/avocado.src.js +63 -0
  670. data/vendor/assets/javascripts/highstock/themes/dark-blue.js +15 -0
  671. data/vendor/assets/javascripts/highstock/themes/dark-blue.js.map +1 -0
  672. data/vendor/assets/javascripts/highstock/themes/dark-blue.src.js +285 -0
  673. data/vendor/assets/javascripts/highstock/themes/dark-green.js +15 -0
  674. data/vendor/assets/javascripts/highstock/themes/dark-green.js.map +1 -0
  675. data/vendor/assets/javascripts/highstock/themes/dark-green.src.js +287 -0
  676. data/vendor/assets/javascripts/highstock/themes/dark-unica.js +14 -0
  677. data/vendor/assets/javascripts/highstock/themes/dark-unica.js.map +1 -0
  678. data/vendor/assets/javascripts/highstock/themes/dark-unica.src.js +246 -0
  679. data/vendor/assets/javascripts/highstock/themes/gray.js +15 -0
  680. data/vendor/assets/javascripts/highstock/themes/gray.js.map +1 -0
  681. data/vendor/assets/javascripts/highstock/themes/gray.src.js +293 -0
  682. data/vendor/assets/javascripts/highstock/themes/grid-light.js +11 -0
  683. data/vendor/assets/javascripts/highstock/themes/grid-light.js.map +1 -0
  684. data/vendor/assets/javascripts/highstock/themes/grid-light.src.js +107 -0
  685. data/vendor/assets/javascripts/highstock/themes/grid.js +11 -0
  686. data/vendor/assets/javascripts/highstock/themes/grid.js.map +1 -0
  687. data/vendor/assets/javascripts/highstock/themes/grid.src.js +136 -0
  688. data/vendor/assets/javascripts/highstock/themes/sand-signika.js +11 -0
  689. data/vendor/assets/javascripts/highstock/themes/sand-signika.js.map +1 -0
  690. data/vendor/assets/javascripts/highstock/themes/sand-signika.src.js +137 -0
  691. data/vendor/assets/javascripts/highstock/themes/skies.js +11 -0
  692. data/vendor/assets/javascripts/highstock/themes/skies.js.map +1 -0
  693. data/vendor/assets/javascripts/highstock/themes/skies.src.js +126 -0
  694. data/vendor/assets/javascripts/highstock/themes/sunset.js +9 -0
  695. data/vendor/assets/javascripts/highstock/themes/sunset.js.map +1 -0
  696. data/vendor/assets/javascripts/highstock/themes/sunset.src.js +62 -0
  697. metadata +781 -0
@@ -0,0 +1,12 @@
1
+ /*
2
+ Highcharts JS v7.0.3 (2019-02-06)
3
+
4
+ Indicator series type for Highstock
5
+
6
+ (c) 2010-2019 Wojciech Chmiel
7
+
8
+ License: www.highcharts.com/license
9
+ */
10
+ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define(function(){return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){(function(a){function n(m,b,a,h,k){b=p(b[a][h],b[a]);return k?l(m-b):l(m+b)}var l=a.correctFloat,p=a.pick;a.seriesType("dpo","sma",{params:{period:21}},{nameBase:"DPO",getValues:function(a,b){var g=b.period;b=b.index;var h=g+Math.floor(g/2+1),k=a.xData||[];a=a.yData||[];var m=a.length,
11
+ l=[],q=[],r=[],d=0,e,c,f;if(k.length<=h)return!1;for(c=0;c<g-1;c++)d=n(d,a,c,b);for(f=0;f<=m-h;f++)e=f+g-1,c=f+h-1,d=n(d,a,e,b),e=p(a[c][b],a[c]),e-=d/g,d=n(d,a,f,b,!0),l.push([k[c],e]),q.push(k[c]),r.push(e);return{values:l,xData:q,yData:r}}})})(a)});
12
+ //# sourceMappingURL=dpo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dpo.js.map","lineCount":11,"mappings":"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","sources":["dpo.src.js"],"names":["factory","module","exports","define","amd","Highcharts","undefined","H","accumulatePoints","sum","yVal","i","index","subtract","price","pick","correctFloat","seriesType","params","period","nameBase","getValues","series","range","Math","floor","offset","xVal","xData","yData","yValLen","length","DPO","oscillator","rangeIndex","j","periodIndex","push","values"]}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @license Highcharts JS v7.0.3 (2019-02-06)
3
+ *
4
+ * Indicator series type for Highstock
5
+ *
6
+ * (c) 2010-2019 Wojciech Chmiel
7
+ *
8
+ * License: www.highcharts.com/license
9
+ */
10
+ 'use strict';
11
+ (function (factory) {
12
+ if (typeof module === 'object' && module.exports) {
13
+ factory['default'] = factory;
14
+ module.exports = factory;
15
+ } else if (typeof define === 'function' && define.amd) {
16
+ define(function () {
17
+ return factory;
18
+ });
19
+ } else {
20
+ factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
21
+ }
22
+ }(function (Highcharts) {
23
+ (function (H) {
24
+ /* *
25
+ *
26
+ * License: www.highcharts.com/license
27
+ *
28
+ * */
29
+
30
+
31
+
32
+ var correctFloat = H.correctFloat,
33
+ pick = H.pick;
34
+
35
+ // Utils
36
+ function accumulatePoints(sum, yVal, i, index, subtract) {
37
+ var price = pick(yVal[i][index], yVal[i]);
38
+
39
+ if (subtract) {
40
+ return correctFloat(sum - price);
41
+ }
42
+ return correctFloat(sum + price);
43
+ }
44
+
45
+ /**
46
+ * The DPO series type.
47
+ *
48
+ * @private
49
+ * @class
50
+ * @name Highcharts.seriesTypes.dpo
51
+ *
52
+ * @augments Highcharts.Series
53
+ */
54
+ H.seriesType(
55
+ 'dpo',
56
+ 'sma',
57
+ /**
58
+ * Detrended Price Oscillator. This series requires the `linkedTo` option to
59
+ * be set and should be loaded after the `stock/indicators/indicators.js`.
60
+ *
61
+ * @sample {highstock} stock/indicators/dpo
62
+ * Detrended Price Oscillator
63
+ *
64
+ * @extends plotOptions.sma
65
+ * @since 7.0.0
66
+ * @product highstock
67
+ * @excluding allAreas, colorAxis, compare, compareBase, joinBy, keys,
68
+ * navigatorOptions, pointInterval, pointIntervalUnit,
69
+ * pointPlacement, pointRange, pointStart, showInNavigator,
70
+ * stacking
71
+ * @optionparent plotOptions.dpo
72
+ */
73
+ {
74
+ /**
75
+ * Parameters used in calculation of Detrended Price Oscillator series
76
+ * points.
77
+ */
78
+ params: {
79
+ /**
80
+ * Period for Detrended Price Oscillator
81
+ */
82
+ period: 21
83
+ }
84
+ },
85
+ /**
86
+ * @lends Highcharts.Series#
87
+ */
88
+ {
89
+ nameBase: 'DPO',
90
+ getValues: function (series, params) {
91
+ var period = params.period,
92
+ index = params.index,
93
+ offset = Math.floor(period / 2 + 1),
94
+ range = period + offset,
95
+ xVal = series.xData || [],
96
+ yVal = series.yData || [],
97
+ yValLen = yVal.length,
98
+ DPO = [], // 0- date, 1- Detrended Price Oscillator
99
+ xData = [],
100
+ yData = [],
101
+ sum = 0,
102
+ oscillator,
103
+ periodIndex,
104
+ rangeIndex,
105
+ price,
106
+ i,
107
+ j;
108
+
109
+ if (xVal.length <= range) {
110
+ return false;
111
+ }
112
+
113
+ // Accumulate first N-points for SMA
114
+ for (i = 0; i < period - 1; i++) {
115
+ sum = accumulatePoints(sum, yVal, i, index);
116
+ }
117
+
118
+ // Detrended Price Oscillator formula:
119
+ // DPO = Price - Simple moving average [from (n / 2 + 1) days ago]
120
+
121
+ for (j = 0; j <= yValLen - range; j++) {
122
+ periodIndex = j + period - 1;
123
+ rangeIndex = j + range - 1;
124
+
125
+ // adding the last period point
126
+ sum = accumulatePoints(sum, yVal, periodIndex, index);
127
+ price = pick(yVal[rangeIndex][index], yVal[rangeIndex]);
128
+
129
+ oscillator = price - sum / period;
130
+
131
+ // substracting the first period point
132
+ sum = accumulatePoints(sum, yVal, j, index, true);
133
+
134
+ DPO.push([xVal[rangeIndex], oscillator]);
135
+ xData.push(xVal[rangeIndex]);
136
+ yData.push(oscillator);
137
+ }
138
+
139
+ return {
140
+ values: DPO,
141
+ xData: xData,
142
+ yData: yData
143
+ };
144
+ }
145
+ }
146
+ );
147
+
148
+ /**
149
+ * A Detrended Price Oscillator. If the [type](#series.dpo.type) option is not
150
+ * specified, it is inherited from [chart.type](#chart.type).
151
+ *
152
+ * @extends series,plotOptions.dpo
153
+ * @since 7.0.0
154
+ * @product highstock
155
+ * @excluding allAreas, colorAxis, compare, compareBase, dataParser, dataURL,
156
+ * joinBy, keys, navigatorOptions, pointInterval, pointIntervalUnit,
157
+ * pointPlacement, pointRange, pointStart, showInNavigator, stacking
158
+ * @apioption series.dpo
159
+ */
160
+
161
+ }(Highcharts));
162
+ return (function () {
163
+
164
+
165
+ }());
166
+ }));
@@ -0,0 +1,12 @@
1
+ /*
2
+ Highcharts JS v7.0.3 (2019-02-06)
3
+
4
+ Indicator series type for Highstock
5
+
6
+ (c) 2010-2019 Sebastian Bochan
7
+
8
+ License: www.highcharts.com/license
9
+ */
10
+ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define(function(){return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){(function(a){var n=a.isArray,p=a.seriesType,q=a.correctFloat;p("ema","sma",{params:{index:3,period:9}},{accumulatePeriodPoints:function(r,c,b){for(var a=0,d=0,e;d<r;)e=0>c?b[d]:b[d][c],a+=e,d++;return a},calculateEma:function(a,c,b,g,d,e,h){a=a[b-1];c=0>e?c[b-1]:c[b-1][e];g=void 0===
11
+ d?h:q(c*g+d*(1-g));return[a,g]},getValues:function(a,c){var b=c.period,g=a.xData,d=(a=a.yData)?a.length:0,e=2/(b+1),h=[],l=[],m=[],k=-1,f;if(d<b)return!1;n(a[0])&&(k=c.index?c.index:0);for(c=this.accumulatePeriodPoints(b,k,a)/b;b<d+1;b++)f=this.calculateEma(g,a,b,e,f,k,c),h.push(f),l.push(f[0]),m.push(f[1]),f=f[1];return{values:h,xData:l,yData:m}}})})(a)});
12
+ //# sourceMappingURL=ema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ema.js.map","lineCount":11,"mappings":"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","sources":["ema.src.js"],"names":["factory","module","exports","define","amd","Highcharts","undefined","H","isArray","seriesType","correctFloat","params","index","period","accumulatePeriodPoints","yVal","sum","i","y","calculateEma","xVal","EMApercent","calEMA","SMA","x","yValue","getValues","series","xData","yValLen","yData","length","EMA","EMAPoint","push","values"]}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * @license Highcharts JS v7.0.3 (2019-02-06)
3
+ *
4
+ * Indicator series type for Highstock
5
+ *
6
+ * (c) 2010-2019 Sebastian Bochan
7
+ *
8
+ * License: www.highcharts.com/license
9
+ */
10
+ 'use strict';
11
+ (function (factory) {
12
+ if (typeof module === 'object' && module.exports) {
13
+ factory['default'] = factory;
14
+ module.exports = factory;
15
+ } else if (typeof define === 'function' && define.amd) {
16
+ define(function () {
17
+ return factory;
18
+ });
19
+ } else {
20
+ factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
21
+ }
22
+ }(function (Highcharts) {
23
+ (function (H) {
24
+ /* *
25
+ *
26
+ * License: www.highcharts.com/license
27
+ *
28
+ * */
29
+
30
+
31
+
32
+ var isArray = H.isArray,
33
+ seriesType = H.seriesType,
34
+ correctFloat = H.correctFloat;
35
+
36
+ /**
37
+ * The EMA series type.
38
+ *
39
+ * @private
40
+ * @class
41
+ * @name Highcharts.seriesTypes.ema
42
+ *
43
+ * @augments Highcharts.Series
44
+ */
45
+ seriesType(
46
+ 'ema',
47
+ 'sma',
48
+ /**
49
+ * Exponential moving average indicator (EMA). This series requires the
50
+ * `linkedTo` option to be set.
51
+ *
52
+ * @sample stock/indicators/ema
53
+ * Exponential moving average indicator
54
+ *
55
+ * @extends plotOptions.sma
56
+ * @since 6.0.0
57
+ * @product highstock
58
+ * @optionparent plotOptions.ema
59
+ */
60
+ {
61
+ params: {
62
+ /**
63
+ * The point index which indicator calculations will base. For
64
+ * example using OHLC data, index=2 means the indicator will be
65
+ * calculated using Low values.
66
+ *
67
+ * By default index value used to be set to 0. Since Highstock 7
68
+ * by default index is set to 3 which means that the ema
69
+ * indicator will be calculated using Close values.
70
+ */
71
+ index: 3,
72
+ period: 9 // @merge 14 in v6.2
73
+ }
74
+ },
75
+ /**
76
+ * @lends Highcharts.Series#
77
+ */
78
+ {
79
+ accumulatePeriodPoints: function (
80
+ period,
81
+ index,
82
+ yVal
83
+ ) {
84
+ var sum = 0,
85
+ i = 0,
86
+ y = 0;
87
+
88
+ while (i < period) {
89
+ y = index < 0 ? yVal[i] : yVal[i][index];
90
+ sum = sum + y;
91
+ i++;
92
+ }
93
+
94
+ return sum;
95
+ },
96
+ calculateEma: function (
97
+ xVal,
98
+ yVal,
99
+ i,
100
+ EMApercent,
101
+ calEMA,
102
+ index,
103
+ SMA
104
+ ) {
105
+ var x = xVal[i - 1],
106
+ yValue = index < 0 ? yVal[i - 1] : yVal[i - 1][index],
107
+ y;
108
+
109
+ y = calEMA === undefined ?
110
+ SMA : correctFloat((yValue * EMApercent) +
111
+ (calEMA * (1 - EMApercent)));
112
+
113
+ return [x, y];
114
+ },
115
+ getValues: function (series, params) {
116
+ var period = params.period,
117
+ xVal = series.xData,
118
+ yVal = series.yData,
119
+ yValLen = yVal ? yVal.length : 0,
120
+ EMApercent = 2 / (period + 1),
121
+ sum = 0,
122
+ EMA = [],
123
+ xData = [],
124
+ yData = [],
125
+ index = -1,
126
+ SMA = 0,
127
+ calEMA,
128
+ EMAPoint,
129
+ i;
130
+
131
+ // Check period, if bigger than points length, skip
132
+ if (yValLen < period) {
133
+ return false;
134
+ }
135
+
136
+ // Switch index for OHLC / Candlestick / Arearange
137
+ if (isArray(yVal[0])) {
138
+ index = params.index ? params.index : 0;
139
+ }
140
+
141
+ // Accumulate first N-points
142
+ sum = this.accumulatePeriodPoints(
143
+ period,
144
+ index,
145
+ yVal
146
+ );
147
+
148
+ // first point
149
+ SMA = sum / period;
150
+
151
+ // Calculate value one-by-one for each period in visible data
152
+ for (i = period; i < yValLen + 1; i++) {
153
+ EMAPoint = this.calculateEma(
154
+ xVal,
155
+ yVal,
156
+ i,
157
+ EMApercent,
158
+ calEMA,
159
+ index,
160
+ SMA
161
+ );
162
+ EMA.push(EMAPoint);
163
+ xData.push(EMAPoint[0]);
164
+ yData.push(EMAPoint[1]);
165
+ calEMA = EMAPoint[1];
166
+ }
167
+
168
+ return {
169
+ values: EMA,
170
+ xData: xData,
171
+ yData: yData
172
+ };
173
+ }
174
+ }
175
+ );
176
+
177
+ /**
178
+ * A `EMA` series. If the [type](#series.ema.type) option is not
179
+ * specified, it is inherited from [chart.type](#chart.type).
180
+ *
181
+ * @extends series,plotOptions.ema
182
+ * @since 6.0.0
183
+ * @product highstock
184
+ * @excluding dataParser, dataURL
185
+ * @apioption series.ema
186
+ */
187
+
188
+ }(Highcharts));
189
+ return (function () {
190
+
191
+
192
+ }());
193
+ }));
@@ -0,0 +1,22 @@
1
+ /*
2
+ Highcharts JS v7.0.3 (2019-02-06)
3
+
4
+ Indicator series type for Highstock
5
+
6
+ (c) 2010-2019 Sebastian Bochan
7
+
8
+ License: www.highcharts.com/license
9
+ */
10
+ (function(n){"object"===typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"===typeof define&&define.amd?define(function(){return n}):n("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(n){(function(q){function n(a){return a.reduce(function(a,b){return Math.max(a,b[1])},-Infinity)}function E(a){return a.reduce(function(a,b){return Math.min(a,b[2])},Infinity)}function y(a){return{high:n(a),low:E(a)}}function F(a){var c,b,f,l,k;a.series.forEach(function(a){if(a.xData)for(l=
11
+ a.xData,k=b=a.xIncrement?1:l.length-1;0<k;k--)if(f=l[k]-l[k-1],c===r||f<c)c=f});return c}function G(a,c,b,f){if(a&&c&&b&&f){var l=c.plotX-a.plotX;c=c.plotY-a.plotY;var k=f.plotX-b.plotX;f=f.plotY-b.plotY;var n=a.plotX-b.plotX,g=a.plotY-b.plotY;b=(-c*n+l*g)/(-k*c+l*f);k=(k*g-f*n)/(-k*c+l*f);if(0<=b&&1>=b&&0<=k&&1>=k)return{plotX:a.plotX+k*l,plotY:a.plotY+k*c}}return!1}function C(a){var c=a.indicator;c.points=a.points;c.nextPoints=a.nextPoints;c.color=a.color;c.options=B(a.options.senkouSpan.styles,
12
+ a.gap);c.graph=a.graph;c.fillGraph=!0;x.prototype.drawGraph.call(c)}var r,H=q.seriesType,B=q.merge,z=q.color,I=q.isArray,D=q.defined,x=q.seriesTypes.sma;q.approximations["ichimoku-averages"]=function(){var a=[],c;[].forEach.call(arguments,function(b,f){a.push(q.approximations.average(b));c=!c&&void 0===a[f]});return c?void 0:a};H("ikh","sma",{params:{period:26,periodTenkan:9,periodSenkouSpanB:52},marker:{enabled:!1},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eTENKAN SEN: {point.tenkanSen:.3f}\x3cbr/\x3eKIJUN SEN: {point.kijunSen:.3f}\x3cbr/\x3eCHIKOU SPAN: {point.chikouSpan:.3f}\x3cbr/\x3eSENKOU SPAN A: {point.senkouSpanA:.3f}\x3cbr/\x3eSENKOU SPAN B: {point.senkouSpanB:.3f}\x3cbr/\x3e'},
13
+ tenkanLine:{styles:{lineWidth:1,lineColor:void 0}},kijunLine:{styles:{lineWidth:1,lineColor:void 0}},chikouLine:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanA:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanB:{styles:{lineWidth:1,lineColor:void 0}},senkouSpan:{styles:{fill:"rgba(255, 0, 0, 0.5)"}},dataGrouping:{approximation:"ichimoku-averages"}},{pointArrayMap:["tenkanSen","kijunSen","chikouSpan","senkouSpanA","senkouSpanB"],pointValKey:"tenkanSen",nameComponents:["periodSenkouSpanB","period",
14
+ "periodTenkan"],init:function(){x.prototype.init.apply(this,arguments);this.options=B({tenkanLine:{styles:{lineColor:this.color}},kijunLine:{styles:{lineColor:this.color}},chikouLine:{styles:{lineColor:this.color}},senkouSpanA:{styles:{lineColor:this.color,fill:z(this.color).setOpacity(.5).get()}},senkouSpanB:{styles:{lineColor:this.color,fill:z(this.color).setOpacity(.5).get()}},senkouSpan:{styles:{fill:z(this.color).setOpacity(.2).get()}}},this.options)},toYData:function(a){return[a.tenkanSen,a.kijunSen,
15
+ a.chikouSpan,a.senkouSpanA,a.senkouSpanB]},translate:function(){var a=this;x.prototype.translate.apply(a);a.points.forEach(function(c){a.pointArrayMap.forEach(function(b){D(c[b])&&(c["plot"+b]=a.yAxis.toPixels(c[b],!0),c.plotY=c["plot"+b],c.tooltipPos=[c.plotX,c["plot"+b]],c.isNull=!1)})})},drawGraph:function(){var a=this,c=a.points,b=c.length,f=a.options,l=a.graph,k=a.color,n={options:{gapSize:f.gapSize}},g=a.pointArrayMap.length,p=[[],[],[],[],[],[]],m={tenkanLine:p[0],kijunLine:p[1],chikouLine:p[2],
16
+ senkouSpanA:p[3],senkouSpanB:p[4],senkouSpan:p[5]},w=[],e=a.options.senkouSpan,t=e.color||e.styles.fill,u=e.negativeColor,d=[[],[]],r=[[],[]],y=0,h,v,z,A;for(a.ikhMap=m;b--;){h=c[b];for(v=0;v<g;v++)e=a.pointArrayMap[v],D(h[e])&&p[v].push({plotX:h.plotX,plotY:h["plot"+e],isNull:!1});u&&b!==c.length-1&&(e=m.senkouSpanB.length-1,h=G(m.senkouSpanA[e-1],m.senkouSpanA[e],m.senkouSpanB[e-1],m.senkouSpanB[e]),v={plotX:h.plotX,plotY:h.plotY,isNull:!1,intersectPoint:!0},h&&(m.senkouSpanA.splice(e,0,v),m.senkouSpanB.splice(e,
17
+ 0,v),w.push(e)))}q.objectEach(m,function(b,c){f[c]&&"senkouSpan"!==c&&(a.points=p[y],a.options=B(f[c].styles,n),a.graph=a["graph"+c],a.fillGraph=!1,a.color=k,x.prototype.drawGraph.call(a),a["graph"+c]=a.graph);y++});a.graphCollection&&a.graphCollection.forEach(function(b){a[b].element.remove();delete a[b]});a.graphCollection=[];if(u&&m.senkouSpanA[0]&&m.senkouSpanB[0]){w.unshift(0);w.push(m.senkouSpanA.length-1);for(g=0;g<w.length-1;g++){e=w[g];h=w[g+1];b=m.senkouSpanB.slice(e,h+1);e=m.senkouSpanA.slice(e,
18
+ h+1);if(1<=Math.floor(b.length/2))if(h=Math.floor(b.length/2),b[h].plotY===e[h].plotY){for(A=v=h=0;A<b.length;A++)h+=b[A].plotY,v+=e[A].plotY;h=h>v?0:1}else h=b[h].plotY>e[h].plotY?0:1;else h=b[0].plotY>e[0].plotY?0:1;d[h]=d[h].concat(b);r[h]=r[h].concat(e)}["graphsenkouSpanColor","graphsenkouSpanNegativeColor"].forEach(function(b,c){d[c].length&&r[c].length&&(z=0===c?t:u,C({indicator:a,points:d[c],nextPoints:r[c],color:z,options:f,gap:n,graph:a[b]}),a[b]=a.graph,a.graphCollection.push(b))})}else C({indicator:a,
19
+ points:m.senkouSpanB,nextPoints:m.senkouSpanA,color:t,options:f,gap:n,graph:a.graphsenkouSpan}),a.graphsenkouSpan=a.graph;delete a.nextPoints;delete a.fillGraph;a.points=c;a.options=f;a.graph=l},getGraphPath:function(a){var c,b,f=[];a=a||this.points;if(this.fillGraph&&this.nextPoints){b=x.prototype.getGraphPath.call(this,this.nextPoints);b[0]="L";c=x.prototype.getGraphPath.call(this,a);b=b.slice(0,c.length);for(var l=b.length-1;0<l;l-=3)f.push(b[l-2],b[l-1],b[l]);c=c.concat(f)}else c=x.prototype.getGraphPath.apply(this,
20
+ arguments);return c},getValues:function(a,c){var b=c.period,f=c.periodTenkan;c=c.periodSenkouSpanB;var l=a.xData,k=a.yData,n=k&&k.length||0;a=F(a.xAxis);var g=[],p=[],m,w,e,t,u,d,q;if(l.length<=b||!I(k[0])||4!==k[0].length)return!1;m=l[0]-b*a;for(d=0;d<b;d++)p.push(m+d*a);for(d=0;d<n;d++)d>=f&&(e=k.slice(d-f,d),e=y(e),e=(e.high+e.low)/2),d>=b&&(t=k.slice(d-b,d),t=y(t),t=(t.high+t.low)/2,q=(e+t)/2),d>=c&&(u=k.slice(d-c,d),u=y(u),u=(u.high+u.low)/2),m=k[d][3],w=l[d],g[d]===r&&(g[d]=[]),g[d+b]===r&&
21
+ (g[d+b]=[]),g[d+b][0]=e,g[d+b][1]=t,g[d+b][2]=r,g[d][2]=m,d<=b&&(g[d+b][3]=r,g[d+b][4]=r),g[d+2*b]===r&&(g[d+2*b]=[]),g[d+2*b][3]=q,g[d+2*b][4]=u,p.push(w);for(d=1;d<=b;d++)p.push(w+d*a);return{values:g,xData:p,yData:g}}})})(n)});
22
+ //# sourceMappingURL=ichimoku-kinko-hyo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ichimoku-kinko-hyo.js.map","lineCount":21,"mappings":"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","sources":["ichimoku-kinko-hyo.src.js"],"names":["factory","module","exports","define","amd","Highcharts","undefined","H","maxHigh","arr","reduce","max","res","Math","Infinity","minLow","min","highlowLevel","high","low","getClosestPointRange","axis","closestDataRange","loopLength","distance","xData","i","series","forEach","xIncrement","length","UNDEFINED","checkLineIntersection","a1","a2","b1","b2","saX","plotX","saY","plotY","sbX","sbY","sabX","sabY","u","t","drawSenkouSpan","opt","indicator","points","nextPoints","color","options","merge","senkouSpan","styles","gap","graph","fillGraph","SMA","prototype","drawGraph","call","seriesType","isArray","defined","seriesTypes","sma","approximations","ret","isEmptyRange","arguments","push","average","params","period","periodTenkan","periodSenkouSpanB","marker","enabled","tooltip","pointFormat","tenkanLine","lineWidth","lineColor","kijunLine","chikouLine","senkouSpanA","senkouSpanB","fill","dataGrouping","approximation","pointArrayMap","pointValKey","nameComponents","init","apply","setOpacity","get","toYData","point","tenkanSen","kijunSen","chikouSpan","translate","value","yAxis","toPixels","tooltipPos","isNull","mainLinePoints","pointsLength","mainLineOptions","mainLinePath","mainColor","gappedExtend","gapSize","pointArrayMapLength","allIchimokuPoints","ikhMap","intersectIndexColl","senkouSpanOptions","negativeColor","lineIndex","senkouSpanTempColor","k","position","index","intersect","intersectPointObj","intersectPoint","splice","objectEach","values","lineName","graphCollection","graphName","element","remove","unshift","j","startIntersect","endIntersect","sectionPoints","slice","sectionNextPoints","floor","x","nextPointsPlotYSum","pointsPlotYSum","concatArrIndex","concat","areaName","graphsenkouSpan","getGraphPath","path","spanA","fillArray","spanAarr","getValues","xVal","yVal","yData","yValLen","closestPointRange","xAxis","IKH","dateStart","date","slicedTSY","slicedKSY","slicedSSBY","SSA","pointTS","TS","pointKS","KS","pointSSB","SSB","CS"]}
@@ -0,0 +1,877 @@
1
+ /**
2
+ * @license Highcharts JS v7.0.3 (2019-02-06)
3
+ *
4
+ * Indicator series type for Highstock
5
+ *
6
+ * (c) 2010-2019 Sebastian Bochan
7
+ *
8
+ * License: www.highcharts.com/license
9
+ */
10
+ 'use strict';
11
+ (function (factory) {
12
+ if (typeof module === 'object' && module.exports) {
13
+ factory['default'] = factory;
14
+ module.exports = factory;
15
+ } else if (typeof define === 'function' && define.amd) {
16
+ define(function () {
17
+ return factory;
18
+ });
19
+ } else {
20
+ factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
21
+ }
22
+ }(function (Highcharts) {
23
+ (function (H) {
24
+ /* *
25
+ *
26
+ * License: www.highcharts.com/license
27
+ *
28
+ * */
29
+
30
+
31
+
32
+ var UNDEFINED,
33
+ seriesType = H.seriesType,
34
+ merge = H.merge,
35
+ color = H.color,
36
+ isArray = H.isArray,
37
+ defined = H.defined,
38
+ SMA = H.seriesTypes.sma;
39
+
40
+ // Utils:
41
+ function maxHigh(arr) {
42
+ return arr.reduce(function (max, res) {
43
+ return Math.max(max, res[1]);
44
+ }, -Infinity);
45
+ }
46
+
47
+ function minLow(arr) {
48
+ return arr.reduce(function (min, res) {
49
+ return Math.min(min, res[2]);
50
+ }, Infinity);
51
+ }
52
+
53
+ function highlowLevel(arr) {
54
+ return {
55
+ high: maxHigh(arr),
56
+ low: minLow(arr)
57
+ };
58
+ }
59
+
60
+ function getClosestPointRange(axis) {
61
+ var closestDataRange,
62
+ loopLength,
63
+ distance,
64
+ xData,
65
+ i;
66
+
67
+ axis.series.forEach(function (series) {
68
+
69
+ if (series.xData) {
70
+ xData = series.xData;
71
+ loopLength = series.xIncrement ? 1 : xData.length - 1;
72
+
73
+ for (i = loopLength; i > 0; i--) {
74
+ distance = xData[i] - xData[i - 1];
75
+ if (
76
+ closestDataRange === UNDEFINED ||
77
+ distance < closestDataRange
78
+ ) {
79
+ closestDataRange = distance;
80
+ }
81
+ }
82
+ }
83
+ });
84
+
85
+ return closestDataRange;
86
+ }
87
+
88
+ // Check two lines intersection (line a1-a2 and b1-b2)
89
+ // Source: https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection
90
+ function checkLineIntersection(a1, a2, b1, b2) {
91
+ if (a1 && a2 && b1 && b2) {
92
+
93
+ var saX = a2.plotX - a1.plotX, // Auxiliary section a2-a1 X
94
+ saY = a2.plotY - a1.plotY, // Auxiliary section a2-a1 Y
95
+ sbX = b2.plotX - b1.plotX, // Auxiliary section b2-b1 X
96
+ sbY = b2.plotY - b1.plotY, // Auxiliary section b2-b1 Y
97
+ sabX = a1.plotX - b1.plotX, // Auxiliary section a1-b1 X
98
+ sabY = a1.plotY - b1.plotY, // Auxiliary section a1-b1 Y
99
+
100
+ // First degree Bézier parameters
101
+ u,
102
+ t;
103
+
104
+ u = (-saY * sabX + saX * sabY) / (-sbX * saY + saX * sbY);
105
+ t = (sbX * sabY - sbY * sabX) / (-sbX * saY + saX * sbY);
106
+
107
+ if (u >= 0 && u <= 1 && t >= 0 && t <= 1) {
108
+ return {
109
+ plotX: a1.plotX + (t * saX),
110
+ plotY: a1.plotY + (t * saY)
111
+ };
112
+ }
113
+ }
114
+
115
+ return false;
116
+ }
117
+
118
+ // Parameter opt (indicator options object) include indicator, points,
119
+ // nextPoints, color, options, gappedExtend and graph properties
120
+ function drawSenkouSpan(opt) {
121
+ var indicator = opt.indicator;
122
+
123
+ indicator.points = opt.points;
124
+ indicator.nextPoints = opt.nextPoints;
125
+ indicator.color = opt.color;
126
+ indicator.options = merge(opt.options.senkouSpan.styles, opt.gap);
127
+ indicator.graph = opt.graph;
128
+ indicator.fillGraph = true;
129
+ SMA.prototype.drawGraph.call(indicator);
130
+ }
131
+
132
+
133
+ // Data integrity in Ichimoku is different than default "averages":
134
+ // Point: [undefined, value, value, ...] is correct
135
+ // Point: [undefined, undefined, undefined, ...] is incorrect
136
+ H.approximations['ichimoku-averages'] = function () {
137
+ var ret = [],
138
+ isEmptyRange;
139
+
140
+ [].forEach.call(arguments, function (arr, i) {
141
+ ret.push(H.approximations.average(arr));
142
+ isEmptyRange = !isEmptyRange && ret[i] === undefined;
143
+ });
144
+
145
+ // Return undefined when first elem. is undefined and let
146
+ // sum method handle null (#7377)
147
+ return isEmptyRange ? undefined : ret;
148
+ };
149
+
150
+ /**
151
+ * The IKH series type.
152
+ *
153
+ * @private
154
+ * @class
155
+ * @name Highcharts.seriesTypes.ikh
156
+ *
157
+ * @augments Highcharts.Series
158
+ */
159
+ seriesType(
160
+ 'ikh',
161
+ 'sma',
162
+ /**
163
+ * Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option to be
164
+ * set.
165
+ *
166
+ * @sample stock/indicators/ichimoku-kinko-hyo
167
+ * Ichimoku Kinko Hyo indicator
168
+ *
169
+ * @extends plotOptions.sma
170
+ * @since 6.0.0
171
+ * @excluding allAreas, colorAxis, compare, compareBase, joinBy, keys,
172
+ * navigatorOptions, pointInterval, pointIntervalUnit,
173
+ * pointPlacement, pointRange, pointStart, showInNavigator,
174
+ * stacking
175
+ * @product highstock
176
+ * @optionparent plotOptions.ikh
177
+ */
178
+ {
179
+ params: {
180
+ period: 26,
181
+ /**
182
+ * The base period for Tenkan calculations.
183
+ */
184
+ periodTenkan: 9,
185
+ /**
186
+ * The base period for Senkou Span B calculations
187
+ */
188
+ periodSenkouSpanB: 52
189
+ },
190
+ marker: {
191
+ enabled: false
192
+ },
193
+ tooltip: {
194
+ pointFormat: '<span style="color:{point.color}">\u25CF</span> <b> {series.name}</b><br/>' +
195
+ 'TENKAN SEN: {point.tenkanSen:.3f}<br/>' +
196
+ 'KIJUN SEN: {point.kijunSen:.3f}<br/>' +
197
+ 'CHIKOU SPAN: {point.chikouSpan:.3f}<br/>' +
198
+ 'SENKOU SPAN A: {point.senkouSpanA:.3f}<br/>' +
199
+ 'SENKOU SPAN B: {point.senkouSpanB:.3f}<br/>'
200
+ },
201
+ /**
202
+ * The styles for Tenkan line
203
+ */
204
+ tenkanLine: {
205
+ styles: {
206
+ /**
207
+ * Pixel width of the line.
208
+ */
209
+ lineWidth: 1,
210
+ /**
211
+ * Color of the line.
212
+ *
213
+ * @type {Highcharts.ColorString}
214
+ */
215
+ lineColor: undefined
216
+ }
217
+ },
218
+ /**
219
+ * The styles for Kijun line
220
+ */
221
+ kijunLine: {
222
+ styles: {
223
+ /**
224
+ * Pixel width of the line.
225
+ */
226
+ lineWidth: 1,
227
+ /**
228
+ * Color of the line.
229
+ *
230
+ * @type {Highcharts.ColorString}
231
+ */
232
+ lineColor: undefined
233
+ }
234
+ },
235
+ /**
236
+ * The styles for Chikou line
237
+ */
238
+ chikouLine: {
239
+ styles: {
240
+ /**
241
+ * Pixel width of the line.
242
+ */
243
+ lineWidth: 1,
244
+ /**
245
+ * Color of the line.
246
+ *
247
+ * @type {Highcharts.ColorString}
248
+ */
249
+ lineColor: undefined
250
+ }
251
+ },
252
+ /**
253
+ * The styles for Senkou Span A line
254
+ */
255
+ senkouSpanA: {
256
+ styles: {
257
+ /**
258
+ * Pixel width of the line.
259
+ */
260
+ lineWidth: 1,
261
+ /**
262
+ * Color of the line.
263
+ *
264
+ * @type {Highcharts.ColorString}
265
+ */
266
+ lineColor: undefined
267
+ }
268
+ },
269
+ /**
270
+ * The styles for Senkou Span B line
271
+ */
272
+ senkouSpanB: {
273
+ styles: {
274
+ /**
275
+ * Pixel width of the line.
276
+ */
277
+ lineWidth: 1,
278
+ /**
279
+ * Color of the line.
280
+ *
281
+ * @type {Highcharts.ColorString}
282
+ */
283
+ lineColor: undefined
284
+ }
285
+ },
286
+ /**
287
+ * The styles for area between Senkou Span A and B.
288
+ */
289
+ senkouSpan: {
290
+ /**
291
+ * Color of the area between Senkou Span A and B,
292
+ * when Senkou Span A is above Senkou Span B. Note that if
293
+ * a `style.fill` is defined, the `color` takes precedence and
294
+ * the `style.fill` is ignored.
295
+ *
296
+ * @see [senkouSpan.styles.fill](#series.ikh.senkouSpan.styles.fill)
297
+ *
298
+ * @sample stock/indicators/ichimoku-kinko-hyo
299
+ * Ichimoku Kinko Hyo color
300
+ *
301
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
302
+ * @since 7.0.0
303
+ * @apioption plotOptions.ikh.senkouSpan.color
304
+ */
305
+
306
+ /**
307
+ * Color of the area between Senkou Span A and B,
308
+ * when Senkou Span A is under Senkou Span B.
309
+ *
310
+ * @sample stock/indicators/ikh-negative-color
311
+ * Ichimoku Kinko Hyo negativeColor
312
+ *
313
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
314
+ * @since 7.0.0
315
+ * @apioption plotOptions.ikh.senkouSpan.negativeColor
316
+ */
317
+
318
+ styles: {
319
+ /**
320
+ * Color of the area between Senkou Span A and B.
321
+ *
322
+ * @deprecated
323
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
324
+ */
325
+ fill: 'rgba(255, 0, 0, 0.5)'
326
+ }
327
+ },
328
+ dataGrouping: {
329
+ approximation: 'ichimoku-averages'
330
+ }
331
+ },
332
+ /**
333
+ * @lends Highcharts.Series#
334
+ */
335
+ {
336
+ pointArrayMap: [
337
+ 'tenkanSen',
338
+ 'kijunSen',
339
+ 'chikouSpan',
340
+ 'senkouSpanA',
341
+ 'senkouSpanB'
342
+ ],
343
+ pointValKey: 'tenkanSen',
344
+ nameComponents: ['periodSenkouSpanB', 'period', 'periodTenkan'],
345
+ init: function () {
346
+ SMA.prototype.init.apply(this, arguments);
347
+
348
+ // Set default color for lines:
349
+ this.options = merge({
350
+ tenkanLine: {
351
+ styles: {
352
+ lineColor: this.color
353
+ }
354
+ },
355
+ kijunLine: {
356
+ styles: {
357
+ lineColor: this.color
358
+ }
359
+ },
360
+ chikouLine: {
361
+ styles: {
362
+ lineColor: this.color
363
+ }
364
+ },
365
+ senkouSpanA: {
366
+ styles: {
367
+ lineColor: this.color,
368
+ fill: color(this.color).setOpacity(0.5).get()
369
+ }
370
+ },
371
+ senkouSpanB: {
372
+ styles: {
373
+ lineColor: this.color,
374
+ fill: color(this.color).setOpacity(0.5).get()
375
+ }
376
+ },
377
+ senkouSpan: {
378
+ styles: {
379
+ fill: color(this.color).setOpacity(0.2).get()
380
+ }
381
+ }
382
+ }, this.options);
383
+ },
384
+ toYData: function (point) {
385
+ return [
386
+ point.tenkanSen,
387
+ point.kijunSen,
388
+ point.chikouSpan,
389
+ point.senkouSpanA,
390
+ point.senkouSpanB
391
+ ];
392
+ },
393
+ translate: function () {
394
+ var indicator = this;
395
+
396
+ SMA.prototype.translate.apply(indicator);
397
+
398
+ indicator.points.forEach(function (point) {
399
+ indicator.pointArrayMap.forEach(function (value) {
400
+ if (defined(point[value])) {
401
+ point['plot' + value] = indicator.yAxis.toPixels(
402
+ point[value],
403
+ true
404
+ );
405
+
406
+ // Add extra parameters for support tooltip in moved
407
+ // lines
408
+ point.plotY = point['plot' + value];
409
+ point.tooltipPos = [point.plotX, point['plot' + value]];
410
+ point.isNull = false;
411
+ }
412
+ });
413
+ });
414
+ },
415
+ // One does not simply
416
+ // Render five lines
417
+ // And an arearange
418
+ // In just one series..
419
+ drawGraph: function () {
420
+
421
+ var indicator = this,
422
+ mainLinePoints = indicator.points,
423
+ pointsLength = mainLinePoints.length,
424
+ mainLineOptions = indicator.options,
425
+ mainLinePath = indicator.graph,
426
+ mainColor = indicator.color,
427
+ gappedExtend = {
428
+ options: {
429
+ gapSize: mainLineOptions.gapSize
430
+ }
431
+ },
432
+ pointArrayMapLength = indicator.pointArrayMap.length,
433
+ allIchimokuPoints = [[], [], [], [], [], []],
434
+ ikhMap = {
435
+ tenkanLine: allIchimokuPoints[0],
436
+ kijunLine: allIchimokuPoints[1],
437
+ chikouLine: allIchimokuPoints[2],
438
+ senkouSpanA: allIchimokuPoints[3],
439
+ senkouSpanB: allIchimokuPoints[4],
440
+ senkouSpan: allIchimokuPoints[5]
441
+ },
442
+ intersectIndexColl = [],
443
+ senkouSpanOptions = indicator.options.senkouSpan,
444
+ color = senkouSpanOptions.color ||
445
+ senkouSpanOptions.styles.fill,
446
+ negativeColor = senkouSpanOptions.negativeColor,
447
+
448
+ // Points to create color and negativeColor senkouSpan
449
+ points = [
450
+ [], // Points color
451
+ [] // Points negative color
452
+ ],
453
+ // For span, we need an access to the next points, used in
454
+ // getGraphPath()
455
+ nextPoints = [
456
+ [], // NextPoints color
457
+ [] // NextPoints negative color
458
+ ],
459
+ lineIndex = 0,
460
+ position,
461
+ point,
462
+ i,
463
+ startIntersect,
464
+ endIntersect,
465
+ sectionPoints,
466
+ sectionNextPoints,
467
+ pointsPlotYSum,
468
+ nextPointsPlotYSum,
469
+ senkouSpanTempColor,
470
+ concatArrIndex,
471
+ j,
472
+ k;
473
+
474
+ indicator.ikhMap = ikhMap;
475
+
476
+ // Generate points for all lines and spans lines:
477
+ while (pointsLength--) {
478
+ point = mainLinePoints[pointsLength];
479
+ for (i = 0; i < pointArrayMapLength; i++) {
480
+ position = indicator.pointArrayMap[i];
481
+
482
+ if (defined(point[position])) {
483
+ allIchimokuPoints[i].push({
484
+ plotX: point.plotX,
485
+ plotY: point['plot' + position],
486
+ isNull: false
487
+ });
488
+ }
489
+ }
490
+
491
+ if (negativeColor &&
492
+ pointsLength !== mainLinePoints.length - 1) {
493
+ // Check if lines intersect
494
+ var index = ikhMap.senkouSpanB.length - 1,
495
+ intersect = checkLineIntersection(
496
+ ikhMap.senkouSpanA[index - 1],
497
+ ikhMap.senkouSpanA[index],
498
+ ikhMap.senkouSpanB[index - 1],
499
+ ikhMap.senkouSpanB[index]
500
+ ),
501
+ intersectPointObj = {
502
+ plotX: intersect.plotX,
503
+ plotY: intersect.plotY,
504
+ isNull: false,
505
+ intersectPoint: true
506
+ };
507
+
508
+ if (intersect) {
509
+ // Add intersect point to ichimoku points collection
510
+ // Create senkouSpan sections
511
+ ikhMap.senkouSpanA.splice(index, 0, intersectPointObj);
512
+ ikhMap.senkouSpanB.splice(index, 0, intersectPointObj);
513
+ intersectIndexColl.push(index);
514
+ }
515
+ }
516
+ }
517
+
518
+ // Modify options and generate lines:
519
+ H.objectEach(ikhMap, function (values, lineName) {
520
+ if (mainLineOptions[lineName] && lineName !== 'senkouSpan') {
521
+ // First line is rendered by default option
522
+ indicator.points = allIchimokuPoints[lineIndex];
523
+ indicator.options = merge(
524
+ mainLineOptions[lineName].styles,
525
+ gappedExtend
526
+ );
527
+ indicator.graph = indicator['graph' + lineName];
528
+
529
+ indicator.fillGraph = false;
530
+ indicator.color = mainColor;
531
+ SMA.prototype.drawGraph.call(indicator);
532
+
533
+ // Now save line
534
+ indicator['graph' + lineName] = indicator.graph;
535
+ }
536
+
537
+ lineIndex++;
538
+ });
539
+
540
+ // Generate senkouSpan area:
541
+
542
+ // If graphColection exist then remove svg
543
+ // element and indicator property
544
+ if (indicator.graphCollection) {
545
+ indicator.graphCollection.forEach(function (graphName) {
546
+ indicator[graphName].element.remove();
547
+ delete indicator[graphName];
548
+ });
549
+ }
550
+
551
+ // Clean grapCollection or initialize it
552
+ indicator.graphCollection = [];
553
+
554
+ // When user set negativeColor property
555
+ if (
556
+ negativeColor &&
557
+ ikhMap.senkouSpanA[0] &&
558
+ ikhMap.senkouSpanB[0]) {
559
+
560
+ // Add first and last point to senkouSpan area sections
561
+ intersectIndexColl.unshift(0);
562
+ intersectIndexColl.push(ikhMap.senkouSpanA.length - 1);
563
+
564
+ // Populate points and nextPoints arrays
565
+ for (j = 0; j < intersectIndexColl.length - 1; j++) {
566
+ startIntersect = intersectIndexColl[j];
567
+ endIntersect = intersectIndexColl[j + 1];
568
+
569
+ sectionPoints = ikhMap.senkouSpanB.slice(
570
+ startIntersect, endIntersect + 1
571
+ );
572
+
573
+ sectionNextPoints = ikhMap.senkouSpanA.slice(
574
+ startIntersect, endIntersect + 1
575
+ );
576
+
577
+ // Add points to color or negativeColor arrays
578
+ // Check the middle point (if exist)
579
+ if (Math.floor(sectionPoints.length / 2) >= 1) {
580
+ var x = Math.floor(sectionPoints.length / 2);
581
+
582
+ // When middle points has equal values
583
+ // Compare all ponints plotY value sum
584
+ if (
585
+ sectionPoints[x].plotY ===
586
+ sectionNextPoints[x].plotY
587
+ ) {
588
+
589
+ pointsPlotYSum = 0;
590
+ nextPointsPlotYSum = 0;
591
+
592
+ for (k = 0; k < sectionPoints.length; k++) {
593
+ pointsPlotYSum +=
594
+ sectionPoints[k].plotY;
595
+ nextPointsPlotYSum +=
596
+ sectionNextPoints[k].plotY;
597
+ }
598
+
599
+ concatArrIndex =
600
+ pointsPlotYSum > nextPointsPlotYSum ? 0 : 1;
601
+
602
+ points[concatArrIndex] =
603
+ points[concatArrIndex].concat(sectionPoints);
604
+
605
+ nextPoints[concatArrIndex] =
606
+ nextPoints[concatArrIndex].concat(
607
+ sectionNextPoints
608
+ );
609
+
610
+ } else {
611
+ // Compare middle point of the section
612
+ concatArrIndex =
613
+ sectionPoints[x].plotY >
614
+ sectionNextPoints[x].plotY ?
615
+ 0 : 1;
616
+
617
+ points[concatArrIndex] =
618
+ points[concatArrIndex].concat(sectionPoints);
619
+
620
+ nextPoints[concatArrIndex] =
621
+ nextPoints[concatArrIndex].concat(
622
+ sectionNextPoints
623
+ );
624
+ }
625
+ } else {
626
+ // Compare first point of the section
627
+ concatArrIndex =
628
+ sectionPoints[0].plotY >
629
+ sectionNextPoints[0].plotY ?
630
+ 0 : 1;
631
+
632
+ points[concatArrIndex] =
633
+ points[concatArrIndex].concat(sectionPoints);
634
+
635
+ nextPoints[concatArrIndex] =
636
+ nextPoints[concatArrIndex].concat(
637
+ sectionNextPoints
638
+ );
639
+ }
640
+ }
641
+
642
+ // Render color and negativeColor paths
643
+ [
644
+ 'graphsenkouSpanColor', 'graphsenkouSpanNegativeColor'
645
+ ].forEach(
646
+ function (areaName, i) {
647
+ if (points[i].length && nextPoints[i].length) {
648
+
649
+ senkouSpanTempColor = (i === 0) ?
650
+ color : negativeColor;
651
+
652
+ drawSenkouSpan({
653
+ indicator: indicator,
654
+ points: points[i],
655
+ nextPoints: nextPoints[i],
656
+ color: senkouSpanTempColor,
657
+ options: mainLineOptions,
658
+ gap: gappedExtend,
659
+ graph: indicator[areaName]
660
+ });
661
+
662
+ // Now save line
663
+ indicator[areaName] = indicator.graph;
664
+ indicator.graphCollection.push(areaName);
665
+ }
666
+ }
667
+ );
668
+
669
+ } else {
670
+ // When user set only senkouSpan style.fill property
671
+ drawSenkouSpan({
672
+ indicator: indicator,
673
+ points: ikhMap.senkouSpanB,
674
+ nextPoints: ikhMap.senkouSpanA,
675
+ color: color,
676
+ options: mainLineOptions,
677
+ gap: gappedExtend,
678
+ graph: indicator.graphsenkouSpan
679
+ });
680
+
681
+ // Now save line
682
+ indicator.graphsenkouSpan = indicator.graph;
683
+ }
684
+
685
+ // Clean temporary properties:
686
+ delete indicator.nextPoints;
687
+ delete indicator.fillGraph;
688
+
689
+ // Restore options and draw the Tenkan line:
690
+ indicator.points = mainLinePoints;
691
+ indicator.options = mainLineOptions;
692
+ indicator.graph = mainLinePath;
693
+ },
694
+ getGraphPath: function (points) {
695
+ var indicator = this,
696
+ path = [],
697
+ spanA,
698
+ fillArray = [],
699
+ spanAarr = [];
700
+
701
+ points = points || this.points;
702
+
703
+
704
+ // Render Senkou Span
705
+ if (indicator.fillGraph && indicator.nextPoints) {
706
+
707
+ spanA = SMA.prototype.getGraphPath.call(
708
+ indicator,
709
+ // Reverse points, so Senkou Span A will start from the end:
710
+ indicator.nextPoints
711
+ );
712
+
713
+ spanA[0] = 'L';
714
+
715
+ path = SMA.prototype.getGraphPath.call(
716
+ indicator,
717
+ points
718
+ );
719
+
720
+ spanAarr = spanA.slice(0, path.length);
721
+
722
+ for (var i = (spanAarr.length - 1); i > 0; i -= 3) {
723
+ fillArray.push(
724
+ spanAarr[i - 2],
725
+ spanAarr[i - 1],
726
+ spanAarr[i]
727
+ );
728
+ }
729
+ path = path.concat(fillArray);
730
+
731
+ } else {
732
+ path = SMA.prototype.getGraphPath.apply(indicator, arguments);
733
+ }
734
+
735
+ return path;
736
+ },
737
+ getValues: function (series, params) {
738
+
739
+ var period = params.period,
740
+ periodTenkan = params.periodTenkan,
741
+ periodSenkouSpanB = params.periodSenkouSpanB,
742
+ xVal = series.xData,
743
+ yVal = series.yData,
744
+ xAxis = series.xAxis,
745
+ yValLen = (yVal && yVal.length) || 0,
746
+ closestPointRange = getClosestPointRange(xAxis),
747
+ IKH = [],
748
+ xData = [],
749
+ dateStart,
750
+ date,
751
+ slicedTSY,
752
+ slicedKSY,
753
+ slicedSSBY,
754
+ pointTS,
755
+ pointKS,
756
+ pointSSB,
757
+ i,
758
+ TS,
759
+ KS,
760
+ CS,
761
+ SSA,
762
+ SSB;
763
+
764
+ // Ikh requires close value
765
+ if (
766
+ xVal.length <= period ||
767
+ !isArray(yVal[0]) ||
768
+ yVal[0].length !== 4
769
+ ) {
770
+ return false;
771
+ }
772
+
773
+
774
+ // Add timestamps at the beginning
775
+ dateStart = xVal[0] - (period * closestPointRange);
776
+
777
+ for (i = 0; i < period; i++) {
778
+ xData.push(dateStart + i * closestPointRange);
779
+ }
780
+
781
+ for (i = 0; i < yValLen; i++) {
782
+
783
+ // Tenkan Sen
784
+ if (i >= periodTenkan) {
785
+
786
+ slicedTSY = yVal.slice(i - periodTenkan, i);
787
+
788
+ pointTS = highlowLevel(slicedTSY);
789
+
790
+ TS = (pointTS.high + pointTS.low) / 2;
791
+ }
792
+
793
+ if (i >= period) {
794
+
795
+ slicedKSY = yVal.slice(i - period, i);
796
+
797
+ pointKS = highlowLevel(slicedKSY);
798
+
799
+ KS = (pointKS.high + pointKS.low) / 2;
800
+
801
+ SSA = (TS + KS) / 2;
802
+ }
803
+
804
+ if (i >= periodSenkouSpanB) {
805
+
806
+ slicedSSBY = yVal.slice(i - periodSenkouSpanB, i);
807
+
808
+ pointSSB = highlowLevel(slicedSSBY);
809
+
810
+ SSB = (pointSSB.high + pointSSB.low) / 2;
811
+ }
812
+
813
+ CS = yVal[i][3];
814
+
815
+ date = xVal[i];
816
+
817
+ if (IKH[i] === UNDEFINED) {
818
+ IKH[i] = [];
819
+ }
820
+
821
+ if (IKH[i + period] === UNDEFINED) {
822
+ IKH[i + period] = [];
823
+ }
824
+
825
+ IKH[i + period][0] = TS;
826
+ IKH[i + period][1] = KS;
827
+ IKH[i + period][2] = UNDEFINED;
828
+
829
+ IKH[i][2] = CS;
830
+
831
+ if (i <= period) {
832
+ IKH[i + period][3] = UNDEFINED;
833
+ IKH[i + period][4] = UNDEFINED;
834
+ }
835
+
836
+ if (IKH[i + 2 * period] === UNDEFINED) {
837
+ IKH[i + 2 * period] = [];
838
+ }
839
+
840
+ IKH[i + 2 * period][3] = SSA;
841
+ IKH[i + 2 * period][4] = SSB;
842
+
843
+ xData.push(date);
844
+
845
+ }
846
+
847
+ // Add timestamps for further points
848
+ for (i = 1; i <= period; i++) {
849
+ xData.push(date + i * closestPointRange);
850
+ }
851
+
852
+ return {
853
+ values: IKH,
854
+ xData: xData,
855
+ yData: IKH
856
+ };
857
+ }
858
+ }
859
+ );
860
+
861
+ /**
862
+ * A `IKH` series. If the [type](#series.ikh.type) option is not
863
+ * specified, it is inherited from [chart.type](#chart.type).
864
+ *
865
+ * @extends series,plotOptions.ikh
866
+ * @since 6.0.0
867
+ * @product highstock
868
+ * @excluding dataParser, dataURL
869
+ * @apioption series.ikh
870
+ */
871
+
872
+ }(Highcharts));
873
+ return (function () {
874
+
875
+
876
+ }());
877
+ }));