highcharts-indicators

Highstock plugin to add technical indicators to charts.


Keywords
indicators, sma, ema, atr, rsi, highcharts, highstock, highcharts-addon
License
CC-BY-2.5
Install
bower install highcharts-indicators

Documentation

#f03c15 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 - 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.

Go to project page to see this module in action: http://blacklabel.github.io/indicators/

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 to indicators.js below Highcharts script tag. Then attach all required indicators (like ema.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

Code

The latest code is available on github: https://github.com/blacklabel/indicators/

Usage and demos

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
},

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 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.