Indicators - Highstock module
Indicators available in this plugin: SMA, EMA, ATR, RSI. You can use these indicators for free.
We also have other indicators available: Bollinger Bands, MACD, Momentum, CCI, Stochastic, Rate of Change (ROC), Accumulation / distribution (AD), Pivot Points, ZigZag, Weighted Moving Average (WMA), PSAR, MFI, Price Envelopes..
If you're are interested in purchasing them, developing new indicators or any other tools, please contact us at: start@blacklabel.pl You may also want to check our other demo here: http://demo.blacklabel.pl.
If you're are interested in purchasing them, developing new indicators or any other tools, please contact us at: start@blacklabel.pl You may also want to check our other demo here: http://demo.blacklabel.pl.
Requirements
- Version 2.0+ requires the latest Highstock (v2.1.5+)
- Version 1.1 requires Highstock v2.1.5
- Version <1.1 supported since Highstock v1.3.9 to Highstock v2.1.4
Versions
- 2.x - Improved logic for calculations and performance. Values are based on initial points, not grouped. When points are grouped by
dataGrouping
then indicators values are grouped too. - 1.x - Initial version of Indicators.js. Calculations are based on grouped points (aka
dataGrouping
)
Installation
- Like any other Highcharts module (e.g. exporting), add
<script>
tag pointing toindicators.js
below Highcharts script tag. Then attach all required indicators (likeema.js
,rsi.js
). -
For NPM users:
var Highcharts = require('highcharts/highstock'); require('indicators')(Highcharts); require('sma')(Highcharts); require('ema')(Highcharts); require('rsi')(Highcharts); require('atr')(Highcharts);
Code
The latest code is available on github: (https://github.com/blacklabel/indicators/)
Usage and demos
indicators: [{ id: 'AAPL', type: 'sma', params: { period: 5, } }, { id: 'AAPL', type: 'ema', params: { period: 5, index: 0 }, styles: { strokeWidth: 2, stroke: 'green', dashstyle: 'solid' } }, { id: 'AAPL', type: 'atr', params: { period: 14, }, styles: { strokeWidth: 2, stroke: 'orange', dashstyle: 'solid' }, yAxis: { lineWidth:2, title: { text:'My ATR title' } } }, { id: 'AAPL', type: 'rsi', params: { period: 14, overbought: 70, oversold: 30 }, styles: { strokeWidth: 2, stroke: 'black', dashstyle: 'solid' }, yAxis: { lineWidth:2, title: { text:'My RSI title' } } }], tooltip:{ enabledIndicators: true },
Parameters
Property | Type | Description |
---|---|---|
id | String | id of series |
type | String | type of indicator (one of: sma , ema , atr , rsi ) |
showInLegend | Boolean | determines if indicator should be visible in the legend. Defaults to false . |
name | String | name is used in legend and tooltip to display indicator. By default it's the same as type. |
styles | Object | color, dashstyle, width etc. for a indicator line |
yAxis (ATR/RSI) | Object | yAxis object like in Highcharts, options for additional yAxis |
params | Object | config options for indicator |
params.approximation (SMA/EMA/ATR/RSI) | String/Function | The same property as in dataGrouping.approximation for Highstock. Supported since version 2.0.0. Defaults to "average" . |
params.period (SMA/EMA/ATR/RSI) | Number | base perdiod for indicator (it's number of points to be calculated). Defaults to 14 . |
params.index (SMA/EMA) | Number | y-value index. Useful when using candlestick/ohlc/range series to determine which value (open/high/low/close) should be used in indicator. Defaults to 0 . |
params.overbought (RSI) | Number | overbought value between 0-100. Defaults to 70 . |
params.oversold (RSI) | Number | oversold value between 0-100. Defaults to 30 . |
params.decimals (RSI) | Number | Precision for the calculations. For example decimals=1 will cut off value 123.4567 to 123.4. Higher value provides more accurate values, but will cost performance. Defaults to 4 . |
tooltip.pointFormat | String | point.color and point.y return values from indicator. Disabled by default. |
New options/methods in Chart:
Method | Version: | Description |
---|---|---|
chart.addIndicator(options, [redraw]) | v 1.0.0+ | Add new indicator with given options. Optionally redraw chart. |
chart.indicators.allItems | v 1.0.0+ | Array containing all indicators. |
chart.alignAxes | v 1.0.9+ | true /false . When idicator requires separate yAxis (like ATR or RSI) then indicators plugin will update heights of the axes to fit plotting area. Disable it and set yAxis.top and yAxis.height when you want different heights for the y-axes. Defaults to true . Note: When disabled, top and height options need to be set for all axes for better view. |
tooltip.enabledIndicators | v 1.0.0+ | true /false , show indicators in tooltip. Disabled by default. |
Highcharts.approximations | v 2.0.0+ | Object containing built-in approximations (functions) in Highstock. For more details see dataGrouping.approximation |
Indicator object
Method | Description |
---|---|
indicator.update(options) | Update indicator with given options |
indicator.destroy() | Destroy indicator |
indicator.setVisible(true|false) | Hide or show indicator. |
Demo
Demos are available at project's github page: (http://blacklabel.github.io/indicators/)