We encourage you to use Highstock 6+ as it has a vast range of technical analysis indicators build in. This plugin was build for older versions of Highstock
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: [email protected]
You may also want to check our other demo here: http://demo.blacklabel.pl.
Go to project page to see this module in action: http://blacklabel.github.io/indicators/
- 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
- 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
)
-
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);
- For BOWER users:
bower install highcharts-indicators
The latest code is available on github: https://github.com/blacklabel/indicators/
indicators: [{
id: 'AAPL',
type: 'sma',
params: {
period: 5,
},
tooltip:{
pointFormat: '<span style="color: {point.color}; ">pointFormat SMA: </span> {point.y}<br>'
},
}, {
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
},
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 period 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 . |
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. |