We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies

Overview

The JavaScript Stock Chart is a well-crafted, easy-to-use financial charting package. Track and visualize the stock price of any company over a specific period of time using charting and range tools. The component comes with a lot of features such as zooming, panning, tooltip, crosshair, trackball, period selector, range selector, and events to make the stock charts more interactive.


High performance

Several data-rendering optimizations are included for the best possible performance when plotting large volumes of data and handling high-frequency real-time data.

JavaScript Stock Chart Performance


Interactive Chart

The end-user experience is greatly enhanced by including a set of interactive features such as zooming and panning, crosshair, trackball, events, and selection.


Candlestick with volume

Analyze both price action and volume at a glance.


Multiple series

Plot multiple series in a single chart to compare different stock values. Enabling a legend and a tooltip gives more information about an individual series.


Plot band

Draw special attention to any region of the chart or graph with the help of strip lines.


Range selector

Use the range selector to filter a date range for data that needs to be visualized.


Period selector

Select data using predefined periods in the period selector and use the date picker to select a custom range.


Series type

Visualize data using different series types like candle, OHLC, HiLo, line, spline, area, and spline area. The series type can be changed using the series options in the period selector.


Legend

Legends provide additional information helpful in identifying individual data or series in a stock chart.


Indicators

Use technical indicators to analyze the past and predict the future market trends based on historic price, volume, or open interest. The JS Stock Chart supports 10 different types of indicators. You can add these indicators to a stock chart using the indicator option in the period selector.


Trendlines

Predict future trends with predetermined data for any measurement such as the stock market or target revenue with the help of trendlines. You can add trendlines to a JS stock chart using the trendlines options in the period selector.


Stock events

Stock events are used to show different kinds of market events on the chart. Use a flag, sign, pin, text, circle, or description.

JavaScript Stock Events


Themes

The JavaScript Financial Charts ships with several built-in themes: Material, Bootstrap, Fabric (Office 365), and high contrast.


Export JavaScript Stock Charts to PDF documents or to image formats such as SVG, PNG, and JPEG in the client-side. Print the rendered stock charts and graphs directly from the browser.


Globalization and localization

Format dates and numbers in JavaScript StockCharts.

Globalization

JavaScript stock charts enables users from different locales to use them by formatting dates, currency, and numbering to suit preferences. Stock charts and graphs use the Essential JS 2 internalization library for handling value formatting.

Localize JavaScript Stock Charts UI strings.

Localization

All the stock chart strings in the user interface can be localized as needed. JavaScript Stock charts and graphs use the Essential JS 2 localization library to localize the strings.


JavaScript Stock Chart Code Example

Easily get started with the JavaScript Stock Chart using a few simple lines of HTML and TS code as demonstrated below. Also explore our JavaScript Stock Chart Example that shows you how to render and configure the stock chart in JavaScript.

<div class="control-section">
    <div id="container"></div>
</div>
import { StockChart } from '@syncfusion/ej2-charts';
import { chartData } from './indicator-data';
import { DateTime, AreaSeries, CandleSeries, HiloOpenCloseSeries, HiloSeries, LineSeries, SplineSeries } from '@syncfusion/ej2-charts';
import { AccumulationDistributionIndicator, AtrIndicator, BollingerBands, EmaIndicator, MomentumIndicator } from '@syncfusion/ej2-charts';
import { MacdIndicator, RsiIndicator, Trendlines, SmaIndicator, StochasticIndicator, Export } from '@syncfusion/ej2-charts';
import { TmaIndicator, RangeTooltip, Tooltip, Crosshair, ITooltipRenderEventArgs, IStockChartEventArgs, ChartTheme }
from '@syncfusion/ej2-charts';
StockChart.Inject(DateTime, AreaSeries, CandleSeries, HiloOpenCloseSeries, HiloSeries, LineSeries, SplineSeries);
StockChart.Inject(AccumulationDistributionIndicator, AtrIndicator, BollingerBands, EmaIndicator, MomentumIndicator);
StockChart.Inject(MacdIndicator, RsiIndicator, SmaIndicator, StochasticIndicator);
StockChart.Inject(Trendlines, TmaIndicator, RangeTooltip, Tooltip, Crosshair, Export);

    let stockChart: StockChart = new StockChart({
        chartArea: { border: { width: 0 } },
        primaryYAxis: {
            lineStyle: { color: 'transparent' },
            majorTickLines: { color: 'transparent', width: 0 },
        },
        primaryXAxis: { majorGridLines: { color: 'transparent' }, crosshairTooltip: { enable: true } },
        series: [
            {
                dataSource: chartData,
                type: 'Candle'
            }
        ],
        tooltipRender : (args: ITooltipRenderEventArgs) => {
            if  (args.text.split('<br/>')[4]) {
                let target : number = parseFloat(args.text.split('<br/>')[4].split('<b>')[1].split('</b>')[0]);
                let value : string = (target / 100000000).toFixed(1) + 'B';
                args.text = args.text.replace(args.text.split('<br/>')[4].split('<b>')[1].split('</b>')[0], value);
            }
        },
        tooltip: {
            enable: true
        },
        crosshair: {
            enable: true
        },
        title: 'AAPL Stock Price'
    });
    stockChart.appendTo('#container');

Other supported frameworks

Stock Chart is also available in the Blazor, React, Angular, and Vue frameworks. Check out the Stock Chart for different platforms from the following links.




80+ JAVASCRIPT UI CONTROLS

Frequently Asked Questions

  • Visualize and analyze stock data with candlestick, OHLC, HiLo Chart.
  • Interact and explore stock charts with features such as period selector, range selector, zoom and pan, crosshair, tooltip, trackball, and more.
  • Flexible UI customization of period and range selector with fluent APIs.
  • One of the best JavaScript Stock Chart in the market that offers feature-rich UI to interact with the software.
  • 10 Technical indicators and 4+ Financial Chart types with elegant animation.
  • Supports all modern browsers.
  • Mobile-touch friendly and responsive.
  • Expansive learning resources such as demos and documentation to learn quickly and get started with JavaScript Stock Chart.

You can find our JavaScript Stock Chart demo here.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

Transform your applications today by downloading our free evaluation version Download Free Trial

Awards

Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile