Getting started
Chart interface
Web components
Chart internals
Data integration
Frameworks and bundlers
Mobile development
Time Span Events
Term structures

Essentials Overview

Before you start developing with the library, here are a few points to keep in mind.


If you wish to overwrite default functionality, create a separate file with a copy of the methods you are overwriting and load that file right after the library has been loaded, but before the chart engine is instantiated. Also see Using the Injection API.

Directly modifying library files will prevent upgrades and the ability for ChartIQ to support your solution.

Sample templates use simulated data

The sample templates provided with the library package are set up to use a server run by us that provides simulated data. You will need to create new interfaces and adjust defaults to ensure proper use of your own data.

Settings you should review and adjust

We recommend you check out the Quick Start guide before developing with the library. Once you begin to develop, you will need to consider (and possibly configure) the following settings:

  • Market Data source. By default the sample templates are connected to a sample quotefeed that is fetching simulated data. You must create a quoteFeed interface to load your data.
  • Time zones. Make sure your data matches the desired time zone for the charts.
  • Market Hours/Definitions. By default, the sample templates will try to set market hours for each symbol newly loaded using CIQ.ChartEngine#setMarketFactory and leverage default Symbology Rules which also need to be adjusted to comply with your symbol format. Alternatively, remove CIQ.ChartEngine#setMarketFactory to always render a 24/7 chart.
  • Symbol lookup data source. By default the sample template links to a sample lookup server which delivers instruments that will match the quote simulator. You need to create a lookup driver that will deliver a list of symbols compatible with your quote feed.

Look in the samples directory for all of the sample code we use to demonstrate the above functionality!

Next steps