API Reference
The ChartIQ API reference documents the namespaces, classes, functions, constants, web components, plug-ins, add-ons, and other programming constructs that constitute the ChartIQ library.
Core API
The fundamental elements of the library.
- CIQ — Static methods and base namespace.
- CIQ.ChartEngine — The basic chart class. A
ChartEngine
object must be created before any chart operations can be performed. - CIQ.Renderer — Draws visualizations of time series data.
- CIQ.Drawing — Base class for drawing tools.
- CIQ.I18N — Namespace for the internationalization API.
- CIQ.Marker — DOM object to be managed by a chart. Markers are positoned on the chart by date, tick, or bar.
- CIQ.Market — Class used by the chart to manage market hours for different exchanges.
- CIQ.Studies — Namespace for technical indicators/studies applied to market data.
- quotefeed — Interface that specifies how to implement a chart data feed. See the Data Integration: Considerations and Overview tutorial.
Plug-ins
Modules that add powerful capabilities to charts.
Active Trader
Creates an information dashboard with real-time data, informative graphics, and an extensive assortment of tools for fast, in-depth market analysis.
- CIQ.MarketDepth — Adds a market depth plot and order book to the chart.
- CIQ.ChartEngine#drawMarketDepth — Draws a market depth chart.
- cq-orderbook — Displays the order book as a stand-alone element.
Analyst Views
Provides analytics on tens of thousands of financial instruments.
- CIQ.AnalystViews — Controller class that assists in the creation and processing of API requests.
- cq-analystviews — Web component that manages the Analyst Views UI.
Cross Section
Plots cartesian coordinates for data sets of all kinds.
- CIQ.CrossSection — Creates a cross section chart.
- CIQ.Renderer.CrossSection — Draws the cross section graph (see CIQ.Renderer).
- cq-curve-comparison — Web component that enables the addition of secondary x-axis elements to cross section charts.
- cq-historical-comparison-dialog — Web component that enables the addition of historical plots to cross section charts.
Estimize (formerly Visual Earnings)
Crowdsources earnings estimates and market expectations.
- CIQ.VisualEarnings — Adds an instance of the Visual Earnings plug-in to the chart.
- CIQ.UI.VisualEarnings — UI helper for managing the Visual Earnings plug-in.
ScriptIQ
Enables the creation of custom technical indicators (or studies).
- CIQ.Scripting — API calls to process and add a script to the chart.
- cq-scriptiq-editor and cq-scriptiq-menu — Web components that manage the scripting UI.
Technical Insights
Provides guidance on the directional outlook of stocks over the short or long term.
- CIQ.TechnicalInsights — Controller class that assists in the creation and processing of Technical Insights API requests.
- cq-technicalinsights — Web component that manages the Technical Insights UI.
Time Span Events
Visualizes the relationship of chart data to events that occur over a long period of time.
- CIQ.UI.TimeSpanEvent — UI helper for showing time span event markers on the chart.
- CIQ.Marker.TimeSpanEvent — Creates a time span event marker.
- CIQ.TimeSpanEventPanel — Contains and displays time span events.
Trade from Chart
Enables chart users to place trades directly from their charts.
- CIQ.TFC — Creates and manages the Trade from Chart UI.
- CIQ.Account — Supports placing, modifying, and canceling trade orders.
Add-ons
Classes that interact with the chart to provide new functionality.
Standard
- CIQ.DataLoader — Simplified loading of static data into the chart.
- CIQ.ExtendedHours — Displays extended hours data (pre- and post-market sessions).
- CIQ.FullScreen — Adds a full-screen mode to charts, which enlarges the chart to fill the entire display area.
- CIQ.InactivityTimer — Puts the chart into sleep mode when there is no user activity, reducing the polling rate of the quote feed.
- CIQ.RangeSlider — Allows selection of a range of data within the chart data set using an interactive slider.
- CIQ.Shortcuts — Displays a keyboard shortcuts legend in a movable, resizable window.
- CIQ.TableView — Displays the chart data in a table overlaid on the chart.
- CIQ.Tooltip — Adds a floating tooltip as the user mouses over data points on the chart.
Advanced
- CIQ.Animation — Makes the chart smoothly transition from one price to the next.
- CIQ.ContinuousZoom — Automatically changes chart periodicity when zooming beyond preset thresholds.
- CIQ.Outliers — Scales the y-axis to the main trend of the chart data, hiding outlier values.
- CIQ.PlotComplementer — Enables a series to complement another series primarily for data forecasting.
Helpers
Tools for building core charting functionality.
- CIQ.Comparison — Provides functionality related to comparison series.
- CIQ.EaseMachine — Makes animation easing easy.
- CIQ.NameValueStore — Interacts with data storage, enabling remote storage of chart settings.
- CIQ.Plotter — Manages and optimizes complex drawing operations on the canvas.
- CIQ.Share — Enables chart sharing and uploading.
- CIQ.ThemeHelper — Loads and manages chart themes.
- CIQ.Visualization — Visually renders data streams; for example, SVG images.
Advanced capabilities
Advanced methods used to modify the functionality of the library kernel.
- CIQ.ChartEngine.AdvancedInjectable — Enables developers to prepend and append custom functionality to any built-in library method.
Globals
Custom JavaScript global variables and functions.
- $$ — Shorthand for
getElementById()
. - $$$ — Functional equivalent of
querySelector()
. - registerFDC3 — Function that registers the chart with the FDC3 connector.
Web components
User interface elements used in the library sample templates.
- WebComponents — Namespace for all ChartIQ W3C web components.
- CIQ.UI — Namespace for UI helper objects designed to be used with the library web components.
Mobile SDKs
API documentation for the implemented native methods for mobile devices.
Server-side modules
Node.js modules that can be included in your JavaScript application.
- StudyCalculator — Calculates the results of studies applied to market data.
TypeScript definitions
TypeScript definition files are available as part of the ChartIQ library (contact your account manager or support@chartiq.com to have the definition files added to your library package).
This initiative is still a "work in progress" and covers most of the core library (chartiq.js, standard.js, and advanced.js), but none of the UI/Web components or plug-ins.
Definitions are generated for source code elements including namespaces, classes, functions, properties, and parameters. The definition files contain type information derived from ChartIQ's API documentation, which is created using JSDoc. The definition files enable code editors to display relevant, helpful information — such as parameter lists, default values, and return types — as you work with library source code.