aw-highstock_rails 7.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +7 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +22 -0
- data/LICENSE.txt +21 -0
- data/README.md +53 -0
- data/Rakefile +10 -0
- data/aw-highstock_rails.gemspec +28 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/aw/highstock_rails.rb +9 -0
- data/lib/aw/highstock_rails/version.rb +5 -0
- data/vendor/assets/javascripts/highstock/css/annotations/popup.css +229 -0
- data/vendor/assets/javascripts/highstock/css/annotations/popup.scss +235 -0
- data/vendor/assets/javascripts/highstock/css/highcharts.css +890 -0
- data/vendor/assets/javascripts/highstock/css/highcharts.scss +788 -0
- data/vendor/assets/javascripts/highstock/css/stocktools/gui.css +268 -0
- data/vendor/assets/javascripts/highstock/css/stocktools/gui.scss +270 -0
- data/vendor/assets/javascripts/highstock/css/themes/dark-unica.css +951 -0
- data/vendor/assets/javascripts/highstock/css/themes/dark-unica.scss +122 -0
- data/vendor/assets/javascripts/highstock/css/themes/grid-light.css +904 -0
- data/vendor/assets/javascripts/highstock/css/themes/grid-light.scss +33 -0
- data/vendor/assets/javascripts/highstock/css/themes/sand-signika.css +920 -0
- data/vendor/assets/javascripts/highstock/css/themes/sand-signika.scss +74 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/ControlPoint.js +130 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/MockPoint.js +415 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/annotations.src.js +1231 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableCircle.js +92 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableImage.js +101 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableLabel.js +452 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllablePath.js +175 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableRect.js +93 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/controllableMixin.js +411 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/markerMixin.js +214 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/eventEmitterMixin.js +271 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/navigationBindings.js +1283 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/popup.js +1069 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/CrookedLine.js +191 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/ElliottWave.js +76 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Fibonacci.js +247 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/InfinityLine.js +185 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Measure.js +928 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Pitchfork.js +203 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Tunnel.js +242 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/VerticalLine.js +157 -0
- data/vendor/assets/javascripts/highstock/es-modules/error-messages.js +128 -0
- data/vendor/assets/javascripts/highstock/es-modules/error.js +1 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/acceleration-bands.src.js +199 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/accumulation-distribution.src.js +129 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ao.src.js +206 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/apo.src.js +148 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon-oscillator.src.js +128 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon.src.js +173 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/atr.src.js +151 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/bollinger-bands.src.js +209 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/cci.src.js +131 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/chaikin.src.js +167 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/cmf.src.js +246 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/dema.src.js +191 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/dpo.src.js +138 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ema.src.js +166 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ichimoku-kinko-hyo.src.js +850 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/indicators.src.js +425 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/keltner-channels.src.js +193 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/macd.src.js +417 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/mfi.src.js +198 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/momentum.src.js +119 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/natr.src.js +74 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/pivot-points.src.js +360 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ppo.src.js +152 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/price-channel.src.js +149 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/price-envelopes.src.js +251 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/psar.src.js +307 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/regressions.src.js +427 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/roc.src.js +149 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/rsi.src.js +163 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/stochastic.src.js +193 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/supertrend.src.js +544 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/tema.src.js +247 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/trix.src.js +96 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/volume-by-price.src.js +671 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/vwap.src.js +189 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/williams-r.src.js +128 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/wma.src.js +146 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/zigzag.src.js +221 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-3d.src.js +17 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-more.src.js +22 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/highstock.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/acceleration-bands.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/accumulation-distribution.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ao.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/apo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon-oscillator.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/atr.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/bollinger-bands.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cci.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/chaikin.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cmf.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dema.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dpo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ema.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators-all.src.js +49 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/keltner-channels.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/macd.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/mfi.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/momentum.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/natr.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/pivot-points.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ppo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-channel.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-envelopes.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/psar.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/regressions.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/roc.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/rsi.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/stochastic.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/supertrend.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/tema.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/trix.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/volume-by-price.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/vwap.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/williams-r.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/wma.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/zigzag.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/accessibility.src.js +13 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations-advanced.src.js +20 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/arrow-symbols.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost-canvas.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/bullet.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/current-date-indicator.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/cylinder.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/data.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/datagrouping.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/debugger.src.js +13 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/dependency-wheel.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drag-panes.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/draggable-points.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drilldown.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/export-data.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/exporting.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/full-screen.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/funnel.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/grid-axis.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/heatmap.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/histogram-bellcurve.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/item-series.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/networkgraph.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/no-data-to-display.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/offline-exporting.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie-polyfills.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/overlapping-datalabels.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/parallel-coordinates.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pareto.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pathfinder.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pattern-fill.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/price-indicator.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sankey.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/series-label.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/solid-gauge.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sonification.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/static-scale.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock-tools.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock.src.js +19 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/streamgraph.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sunburst.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/tilemap.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/timeline.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treegrid.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treemap.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variable-pie.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variwide.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/vector.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/venn.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/windbarb.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/wordcloud.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/xrange.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-blue.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-green.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-unica.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/gray.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid-light.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sand-signika.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/skies.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/ajax.js +123 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/centered-series.js +116 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/derived-series.js +150 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/download-url.js +103 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/draw-point.js +51 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry-circles.js +300 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry.js +50 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/indicator-required.js +49 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/multipe-lines.js +223 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/navigation.js +59 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/nodes.js +76 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/on-series.js +167 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/polygon.js +293 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/reduce-array.js +53 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/tree-series.js +256 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/a11y-i18n.src.js +524 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/annotations-legacy.src.js +1951 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/bellcurve.src.js +173 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/boost-canvas.src.js +732 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/boost.src.js +3730 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/bullet.src.js +361 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/cylinder.src.js +389 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/data.src.js +2417 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/debugger.src.js +109 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/dependency-wheel.src.js +199 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/drag-panes.src.js +624 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/draggable-points.src.js +2625 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/drilldown.src.js +1300 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/export-data.src.js +983 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/exporting.src.js +2149 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/full-screen.src.js +40 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/funnel.src.js +552 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/histogram.src.js +229 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/item-series.src.js +150 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/keyboard-navigation.src.js +1606 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/QuadTree.js +175 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/layouts.js +506 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/networkgraph.src.js +740 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/no-data-to-display.src.js +260 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/offline-exporting.src.js +710 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/oldie-polyfills.src.js +121 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/oldie.src.js +1556 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/overlapping-datalabels.src.js +250 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/parallel-coordinates.src.js +492 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/pareto.src.js +152 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/pattern-fill.src.js +607 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/price-indicator.src.js +149 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sankey.src.js +809 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/screen-reader.src.js +954 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/series-label.src.js +1042 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/solid-gauge.src.js +486 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Earcon.js +184 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Instrument.js +582 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Timeline.js +702 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/chartSonify.js +1026 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/instrumentDefinitions.js +37 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/musicalFrequencies.js +113 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/pointSonify.js +385 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/sonification.js +107 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/utilities.js +178 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/static-scale.src.js +88 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-bindings.js +1950 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-gui.js +1458 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/streamgraph.src.js +132 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sunburst.src.js +1041 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/tilemap.src.js +769 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/timeline.src.js +750 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/treemap.src.js +1803 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/variable-pie.src.js +459 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/variwide.src.js +350 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/vector.src.js +354 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/venn.src.js +1192 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/windbarb.src.js +380 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/wordcloud.src.js +1103 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/xrange.src.js +761 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Axis.js +669 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Chart.js +1753 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Column.js +437 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Math.js +206 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Pie.js +207 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/SVGRenderer.js +1002 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Scatter.js +154 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Series.js +73 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/VMLRenderer.js +62 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/ArrowSymbols.js +198 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/CurrentDateIndicator.js +100 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttChart.js +140 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttSeries.js +415 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GridAxis.js +961 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Pathfinder.js +1298 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/PathfinderAlgorithms.js +816 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Tree.js +158 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/TreeGrid.js +1003 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorAxis.js +1103 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorSeriesMixin.js +138 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/GeoJSON.js +435 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/HeatmapSeries.js +474 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/Map.js +477 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapAxis.js +124 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapBubbleSeries.js +274 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapLineSeries.js +143 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapNavigation.js +357 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointSeries.js +187 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointer.js +132 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapSeries.js +1294 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaRangeSeries.js +725 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaSplineRangeSeries.js +98 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/BoxPlotSeries.js +617 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleLegend.js +1167 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleSeries.js +661 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnPyramidSeries.js +288 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnRangeSeries.js +278 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/ErrorBarSeries.js +172 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/GaugeSeries.js +618 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/PackedBubbleSeries.js +567 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/Pane.js +399 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/Polar.js +634 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/PolygonSeries.js +151 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/RadialAxis.js +685 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/WaterfallSeries.js +765 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts.js +684 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSeries.js +578 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSplineSeries.js +122 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Axis.js +6453 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/BarSeries.js +153 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/CandlestickSeries.js +358 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Chart.js +2307 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Color.js +301 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/ColumnSeries.js +1125 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/DataGrouping.js +1115 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/DataLabels.js +1431 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/DateTimeAxis.js +134 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Dynamics.js +1301 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/FlagsSeries.js +739 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Globals.js +75 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Html.js +539 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Interaction.js +1299 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Legend.js +1411 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/LogarithmicAxis.js +168 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/MSPointer.js +176 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Navigator.js +2486 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/OHLCSeries.js +412 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Options.js +3732 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/OrdinalAxis.js +962 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/PieSeries.js +1328 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/PlotBandSeries.experimental.js +74 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/PlotLineOrBand.js +1061 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Point.js +681 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Pointer.js +1332 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/RangeSelector.js +2063 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Responsive.js +295 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/ScatterSeries.js +278 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/ScrollablePlotArea.js +266 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Scrollbar.js +1134 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Series.js +5864 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/SplineSeries.js +267 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Stacking.js +604 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/StockChart.js +951 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/SvgRenderer.js +5109 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Tick.js +746 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Time.js +881 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Tooltip.js +1318 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/TouchPointer.js +404 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Utilities.js +2751 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/avocado.js +37 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/dark-blue.js +259 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/dark-green.js +261 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/dark-unica.js +220 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/gray.js +267 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/grid-light.js +81 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/grid.js +110 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/sand-signika.js +111 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/skies.js +100 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/sunset.js +36 -0
- data/vendor/assets/javascripts/highstock/highcharts-3d.js +85 -0
- data/vendor/assets/javascripts/highstock/highcharts-3d.js.map +1 -0
- data/vendor/assets/javascripts/highstock/highcharts-more.js +101 -0
- data/vendor/assets/javascripts/highstock/highcharts-more.js.map +1 -0
- data/vendor/assets/javascripts/highstock/highstock.js +583 -0
- data/vendor/assets/javascripts/highstock/highstock.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.src.js +448 -0
- data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.src.js +156 -0
- data/vendor/assets/javascripts/highstock/indicators/ao.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/ao.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ao.src.js +233 -0
- data/vendor/assets/javascripts/highstock/indicators/apo.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/apo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/apo.src.js +223 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js +15 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.src.js +426 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon.src.js +423 -0
- data/vendor/assets/javascripts/highstock/indicators/atr.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/atr.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/atr.src.js +178 -0
- data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.src.js +458 -0
- data/vendor/assets/javascripts/highstock/indicators/cci.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/cci.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/cci.src.js +158 -0
- data/vendor/assets/javascripts/highstock/indicators/chaikin.js +15 -0
- data/vendor/assets/javascripts/highstock/indicators/chaikin.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/chaikin.src.js +370 -0
- data/vendor/assets/javascripts/highstock/indicators/cmf.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/cmf.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/cmf.src.js +273 -0
- data/vendor/assets/javascripts/highstock/indicators/dema.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/dema.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/dema.src.js +266 -0
- data/vendor/assets/javascripts/highstock/indicators/dpo.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/dpo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/dpo.src.js +166 -0
- data/vendor/assets/javascripts/highstock/indicators/ema.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/ema.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ema.src.js +193 -0
- data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js +22 -0
- data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.src.js +877 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators-all.js +117 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators-all.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators-all.src.js +9389 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators.js +17 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators.src.js +500 -0
- data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/keltner-channels.src.js +442 -0
- data/vendor/assets/javascripts/highstock/indicators/macd.js +18 -0
- data/vendor/assets/javascripts/highstock/indicators/macd.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/macd.src.js +444 -0
- data/vendor/assets/javascripts/highstock/indicators/mfi.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/mfi.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/mfi.src.js +225 -0
- data/vendor/assets/javascripts/highstock/indicators/momentum.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/momentum.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/momentum.src.js +146 -0
- data/vendor/assets/javascripts/highstock/indicators/natr.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/natr.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/natr.src.js +101 -0
- data/vendor/assets/javascripts/highstock/indicators/pivot-points.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/pivot-points.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/pivot-points.src.js +387 -0
- data/vendor/assets/javascripts/highstock/indicators/ppo.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/ppo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ppo.src.js +227 -0
- data/vendor/assets/javascripts/highstock/indicators/price-channel.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/price-channel.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/price-channel.src.js +450 -0
- data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js +15 -0
- data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/price-envelopes.src.js +278 -0
- data/vendor/assets/javascripts/highstock/indicators/psar.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/psar.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/psar.src.js +334 -0
- data/vendor/assets/javascripts/highstock/indicators/regressions.js +14 -0
- data/vendor/assets/javascripts/highstock/indicators/regressions.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/regressions.src.js +454 -0
- data/vendor/assets/javascripts/highstock/indicators/roc.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/roc.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/roc.src.js +176 -0
- data/vendor/assets/javascripts/highstock/indicators/rsi.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/rsi.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/rsi.src.js +190 -0
- data/vendor/assets/javascripts/highstock/indicators/stochastic.js +17 -0
- data/vendor/assets/javascripts/highstock/indicators/stochastic.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/stochastic.src.js +494 -0
- data/vendor/assets/javascripts/highstock/indicators/supertrend.js +17 -0
- data/vendor/assets/javascripts/highstock/indicators/supertrend.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/supertrend.src.js +571 -0
- data/vendor/assets/javascripts/highstock/indicators/tema.js +14 -0
- data/vendor/assets/javascripts/highstock/indicators/tema.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/tema.src.js +322 -0
- data/vendor/assets/javascripts/highstock/indicators/trix.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/trix.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/trix.src.js +171 -0
- data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js +21 -0
- data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/volume-by-price.src.js +698 -0
- data/vendor/assets/javascripts/highstock/indicators/vwap.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/vwap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/vwap.src.js +216 -0
- data/vendor/assets/javascripts/highstock/indicators/williams-r.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/williams-r.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/williams-r.src.js +207 -0
- data/vendor/assets/javascripts/highstock/indicators/wma.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/wma.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/wma.src.js +173 -0
- data/vendor/assets/javascripts/highstock/indicators/zigzag.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/zigzag.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/zigzag.src.js +248 -0
- data/vendor/assets/javascripts/highstock/lib/canvg.js +130 -0
- data/vendor/assets/javascripts/highstock/lib/canvg.src.js +3073 -0
- data/vendor/assets/javascripts/highstock/lib/jspdf.js +283 -0
- data/vendor/assets/javascripts/highstock/lib/jspdf.src.js +21627 -0
- data/vendor/assets/javascripts/highstock/lib/rgbcolor.js +17 -0
- data/vendor/assets/javascripts/highstock/lib/rgbcolor.src.js +299 -0
- data/vendor/assets/javascripts/highstock/lib/svg2pdf.js +38 -0
- data/vendor/assets/javascripts/highstock/lib/svg2pdf.src.js +4390 -0
- data/vendor/assets/javascripts/highstock/modules/accessibility.js +73 -0
- data/vendor/assets/javascripts/highstock/modules/accessibility.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/accessibility.src.js +3103 -0
- data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js +132 -0
- data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/annotations-advanced.src.js +8230 -0
- data/vendor/assets/javascripts/highstock/modules/annotations.js +94 -0
- data/vendor/assets/javascripts/highstock/modules/annotations.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/annotations.src.js +6001 -0
- data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js +11 -0
- data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/arrow-symbols.src.js +225 -0
- data/vendor/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/boost-canvas.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/boost-canvas.src.js +756 -0
- data/vendor/assets/javascripts/highstock/modules/boost.js +65 -0
- data/vendor/assets/javascripts/highstock/modules/boost.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/boost.src.js +3752 -0
- data/vendor/assets/javascripts/highstock/modules/bullet.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/bullet.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/bullet.src.js +388 -0
- data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js +11 -0
- data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/current-date-indicator.src.js +127 -0
- data/vendor/assets/javascripts/highstock/modules/cylinder.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/cylinder.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/cylinder.src.js +413 -0
- data/vendor/assets/javascripts/highstock/modules/data.js +37 -0
- data/vendor/assets/javascripts/highstock/modules/data.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/data.src.js +2565 -0
- data/vendor/assets/javascripts/highstock/modules/datagrouping.js +25 -0
- data/vendor/assets/javascripts/highstock/modules/datagrouping.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/datagrouping.src.js +1140 -0
- data/vendor/assets/javascripts/highstock/modules/debugger.js +28 -0
- data/vendor/assets/javascripts/highstock/modules/debugger.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/debugger.src.js +267 -0
- data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js +15 -0
- data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/dependency-wheel.src.js +301 -0
- data/vendor/assets/javascripts/highstock/modules/drag-panes.js +18 -0
- data/vendor/assets/javascripts/highstock/modules/drag-panes.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/drag-panes.src.js +649 -0
- data/vendor/assets/javascripts/highstock/modules/draggable-points.js +40 -0
- data/vendor/assets/javascripts/highstock/modules/draggable-points.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/draggable-points.src.js +2650 -0
- data/vendor/assets/javascripts/highstock/modules/drilldown.js +29 -0
- data/vendor/assets/javascripts/highstock/modules/drilldown.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/drilldown.src.js +1321 -0
- data/vendor/assets/javascripts/highstock/modules/export-data.js +27 -0
- data/vendor/assets/javascripts/highstock/modules/export-data.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/export-data.src.js +1234 -0
- data/vendor/assets/javascripts/highstock/modules/exporting.js +35 -0
- data/vendor/assets/javascripts/highstock/modules/exporting.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/exporting.src.js +2233 -0
- data/vendor/assets/javascripts/highstock/modules/full-screen.js +11 -0
- data/vendor/assets/javascripts/highstock/modules/full-screen.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/full-screen.src.js +68 -0
- data/vendor/assets/javascripts/highstock/modules/funnel.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/funnel.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/funnel.src.js +576 -0
- data/vendor/assets/javascripts/highstock/modules/grid-axis.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/grid-axis.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/grid-axis.src.js +988 -0
- data/vendor/assets/javascripts/highstock/modules/heatmap.js +28 -0
- data/vendor/assets/javascripts/highstock/modules/heatmap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/heatmap.src.js +1731 -0
- data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js +16 -0
- data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.src.js +570 -0
- data/vendor/assets/javascripts/highstock/modules/item-series.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/item-series.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/item-series.src.js +176 -0
- data/vendor/assets/javascripts/highstock/modules/networkgraph.js +31 -0
- data/vendor/assets/javascripts/highstock/modules/networkgraph.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/networkgraph.src.js +1348 -0
- data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/no-data-to-display.src.js +285 -0
- data/vendor/assets/javascripts/highstock/modules/offline-exporting.js +22 -0
- data/vendor/assets/javascripts/highstock/modules/offline-exporting.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/offline-exporting.src.js +838 -0
- data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.src.js +150 -0
- data/vendor/assets/javascripts/highstock/modules/oldie.js +35 -0
- data/vendor/assets/javascripts/highstock/modules/oldie.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/oldie.src.js +1582 -0
- data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js +9 -0
- data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +22 -0
- data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js +18 -0
- data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.src.js +517 -0
- data/vendor/assets/javascripts/highstock/modules/pareto.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/pareto.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/pareto.src.js +327 -0
- data/vendor/assets/javascripts/highstock/modules/pathfinder.js +34 -0
- data/vendor/assets/javascripts/highstock/modules/pathfinder.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/pathfinder.src.js +2336 -0
- data/vendor/assets/javascripts/highstock/modules/pattern-fill.js +21 -0
- data/vendor/assets/javascripts/highstock/modules/pattern-fill.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/pattern-fill.src.js +634 -0
- data/vendor/assets/javascripts/highstock/modules/price-indicator.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/price-indicator.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/price-indicator.src.js +176 -0
- data/vendor/assets/javascripts/highstock/modules/sankey.js +22 -0
- data/vendor/assets/javascripts/highstock/modules/sankey.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/sankey.src.js +911 -0
- data/vendor/assets/javascripts/highstock/modules/series-label.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/series-label.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/series-label.src.js +1065 -0
- data/vendor/assets/javascripts/highstock/modules/solid-gauge.js +15 -0
- data/vendor/assets/javascripts/highstock/modules/solid-gauge.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/solid-gauge.src.js +510 -0
- data/vendor/assets/javascripts/highstock/modules/sonification.js +53 -0
- data/vendor/assets/javascripts/highstock/modules/sonification.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/sonification.src.js +3341 -0
- data/vendor/assets/javascripts/highstock/modules/static-scale.js +12 -0
- data/vendor/assets/javascripts/highstock/modules/static-scale.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/static-scale.src.js +114 -0
- data/vendor/assets/javascripts/highstock/modules/stock-tools.js +65 -0
- data/vendor/assets/javascripts/highstock/modules/stock-tools.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/stock-tools.src.js +3437 -0
- data/vendor/assets/javascripts/highstock/modules/stock.js +151 -0
- data/vendor/assets/javascripts/highstock/modules/stock.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/stock.src.js +10907 -0
- data/vendor/assets/javascripts/highstock/modules/streamgraph.js +10 -0
- data/vendor/assets/javascripts/highstock/modules/streamgraph.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/streamgraph.src.js +158 -0
- data/vendor/assets/javascripts/highstock/modules/sunburst.js +52 -0
- data/vendor/assets/javascripts/highstock/modules/sunburst.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/sunburst.src.js +3174 -0
- data/vendor/assets/javascripts/highstock/modules/tilemap.js +26 -0
- data/vendor/assets/javascripts/highstock/modules/tilemap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/tilemap.src.js +1402 -0
- data/vendor/assets/javascripts/highstock/modules/timeline.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/timeline.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/timeline.src.js +778 -0
- data/vendor/assets/javascripts/highstock/modules/treegrid.js +50 -0
- data/vendor/assets/javascripts/highstock/modules/treegrid.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/treegrid.src.js +2917 -0
- data/vendor/assets/javascripts/highstock/modules/treemap.js +39 -0
- data/vendor/assets/javascripts/highstock/modules/treemap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/treemap.src.js +2083 -0
- data/vendor/assets/javascripts/highstock/modules/variable-pie.js +16 -0
- data/vendor/assets/javascripts/highstock/modules/variable-pie.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/variable-pie.src.js +485 -0
- data/vendor/assets/javascripts/highstock/modules/variwide.js +15 -0
- data/vendor/assets/javascripts/highstock/modules/variwide.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/variwide.src.js +376 -0
- data/vendor/assets/javascripts/highstock/modules/vector.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/vector.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/vector.src.js +381 -0
- data/vendor/assets/javascripts/highstock/modules/venn.js +30 -0
- data/vendor/assets/javascripts/highstock/modules/venn.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/venn.src.js +1624 -0
- data/vendor/assets/javascripts/highstock/modules/windbarb.js +17 -0
- data/vendor/assets/javascripts/highstock/modules/windbarb.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/windbarb.src.js +574 -0
- data/vendor/assets/javascripts/highstock/modules/wordcloud.js +25 -0
- data/vendor/assets/javascripts/highstock/modules/wordcloud.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/wordcloud.src.js +1475 -0
- data/vendor/assets/javascripts/highstock/modules/xrange.js +20 -0
- data/vendor/assets/javascripts/highstock/modules/xrange.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/xrange.src.js +788 -0
- data/vendor/assets/javascripts/highstock/themes/avocado.js +9 -0
- data/vendor/assets/javascripts/highstock/themes/avocado.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/avocado.src.js +63 -0
- data/vendor/assets/javascripts/highstock/themes/dark-blue.js +15 -0
- data/vendor/assets/javascripts/highstock/themes/dark-blue.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/dark-blue.src.js +285 -0
- data/vendor/assets/javascripts/highstock/themes/dark-green.js +15 -0
- data/vendor/assets/javascripts/highstock/themes/dark-green.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/dark-green.src.js +287 -0
- data/vendor/assets/javascripts/highstock/themes/dark-unica.js +14 -0
- data/vendor/assets/javascripts/highstock/themes/dark-unica.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/dark-unica.src.js +246 -0
- data/vendor/assets/javascripts/highstock/themes/gray.js +15 -0
- data/vendor/assets/javascripts/highstock/themes/gray.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/gray.src.js +293 -0
- data/vendor/assets/javascripts/highstock/themes/grid-light.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/grid-light.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/grid-light.src.js +107 -0
- data/vendor/assets/javascripts/highstock/themes/grid.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/grid.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/grid.src.js +136 -0
- data/vendor/assets/javascripts/highstock/themes/sand-signika.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/sand-signika.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/sand-signika.src.js +137 -0
- data/vendor/assets/javascripts/highstock/themes/skies.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/skies.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/skies.src.js +126 -0
- data/vendor/assets/javascripts/highstock/themes/sunset.js +9 -0
- data/vendor/assets/javascripts/highstock/themes/sunset.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/sunset.src.js +62 -0
- 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
|
+
}));
|