Version 7.5.0

Release date: 5/5/20

Please note:

  • The 7.4.0 technical-analysis-chart.html and basic-chart.html templates must be updated to work with the new 7.5.0 chart configuration file, sample-config.js.
  • The chart CIQ.UI.Context object is now accessible globally as the uiContext property of the chart engine instance.

See the 7.4.0 to 7.5.0 upgrade notes for information about upgrading to this version.

New features

  • Term Structure

    • Secondary curves — The Term Structure product can now display multiple curves on the same chart, enabling a clear comparison of curves from different dates and times (historical curves) or different sets of instruments (entity curves). Each curve can have its own distinctive color. A list of the curves is displayed in the familiar Plots drop-down list.

      Historical curves Term structure historical curves Figure. Historical curves — Different dates and times for the same instruments.

      Entity curves Term structure entity curves Figure. Entity curves — Different sets of instruments; for example, Canadian Treasury Bills vs. the U.S. Treasury Benchmark.

    • Curve spreads — The difference in value between instruments on different curves and between instruments on the same curve is known as the spread. ChartIQ's Term Structure product provides a quick view of curve spreads in a tooltip-like display that can include multiple curves and multiple instruments.

      Term structure curve spreads Figure. Curve spreads.

      Note: The Term Structure product is available only in the Term Structure package or as an option in the Technical Analysis package.

    • New cq-historical-comparison-dialog web component adds secondary curves to a term structure chart. The secondary curves plot the instruments of the main curve using data from past dates.

    • New cq-curve-comparison web component enables the addition of secondary curves that plot instrument data for entities that are comparable to the chart's primary entity (such as the U.K. sovereign bond in comparison to the U.S. Treasury Benchmark).

    • New cq-curve-comparison-tap-capture surrounds cq-menu and cq-comparison-lookup-frame components to handle the selection of items from menus and lookup dialog boxes that are part of a comparison control. The control enables the addition of secondary curves to a term structure chart.

    • New CIQ.ChartEngine#drawTermStructurePoints function draws the data points of a term structure curve, including the mouse-over highlighting and the highlighting that indicates a data point has been recently updated.

    • New CIQ.ChartEngine#drawTermStructureSpreads function draws curve spreads on a term structure chart, including the guidelines between data points and the numeric values of the spreads.

    • New CIQ.TermStructure#deselectCurvePoints function deselects all data points that have been selected on a curve. Typically, data points are selected to show curve spreads.

    • New CIQ.TermStructure#addCurve function adds a secondary curve to the term structure chart.

    • New CIQ.TermStructure#removeCurve function removes a secondary curve from the term structure chart.

    • New CIQ.TermStructure#modifyCurve changes the color of a curve.

    • CIQ.TermStructure#setCurveDate function has added the params and params.noRecord parameters. When true, noRecord prevents recording of the curve data. The parameter is set to true when importing curves (for example, when reloading the chart).

  • Hidden outliers

    With the new hidden outliers feature, outliers are literally off the chart. By hiding outliers, charts can properly scale the y-axis to reveal the differences in the more statistically normal portion of the data series.

    Visual markers indicate where outliers exist in the time series data. The markers indicate the position of both high and low outlier values. Selecting either type of marker reveals the full range of the upper or lower portion of the chart respectively.

    Complementary controls, which also hide and show the outliers, appear at the top and bottom of the y-axis.

    Chart with hidden outliers Figure. Chart with hidden outliers.

    The outlier feature is turned on and off from the CHART PREFERENCES section of the Display menu of the technical-analysis-chart.html template.

    Chart preferences menu showing Hide Outliers option

    Note: The hidden outliers feature is an add-on available only in the Technical Analysis package.

    • New CIQ.Outliers constructor function creates the outliers add-on which scales the y-axis to the main trend, hiding any outlier values. See the API documentation for a complete list of the functions contained in this add-on.

    • New CIQ.UI.Layout#setOutliers convenience function toggles the outliers layout property between on and off (true and false). The method is invoked from the Display drop-down menu of the technical-analysis-chart.html template.

    • New CIQ.UI.Layout#getOutliers function sets the class of the UI control that shows and hides outliers, such as the Display menu cq-item in the technical-analysis-chart.html template. Setting the class marks the UI item as selected or cleared.

    • New CIQ.ChartEngine#layout[`outliers`] property specifies whether outlier detection is enabled.

  • Clustered baseline histograms

    Histograms of time series data can now display negative as well as positive values. You can add multiple series to a chart, set a baseline value, and even set the color, pattern, line width, and opacity of the baseline. Data points are displayed above or below the baseline as histogram bars. For example, if the baseline is 70, any time series values greater than 70 are graphed as bars above the baseline; values less than 70, bars below the baseline.

    Clustered baseline charts provide a clear view of variation around a base value.

    Clustered baseline histogram Figure. Clustered baseline histogram.

    • CIQ.Renderer.Histogram has added the ability to draw negative bars when the yAxis.baseline parameter is set to zero or some other value (see the API documentation for examples).
  • React

    The Elliott Wave drawing tool is now part of the React component toolkit. The new component enables chart users to identify and draw Elliott Waves on time series charts. A variety of configuration settings and style options make the Elliott Wave tool exceptionally customizable. And now, React developers can easily include this powerful drawing tool in their React charting applications.

  • Angular

    The new Angular component toolkit enables you to easily add charts to your Angular applications. You can create a complete charting solution using just a single component: AdvancedChartComponent is the Angular equivalent of ChartIQ's technical-analysis-chart.html charting implementation. With AdvancedChartComponent, you can add advanced charting to your Angular applications, including add-ons and plug-ins, in a few simple steps.

    See the chartiq-angular-app for an example implementation of AdvancedChartComponent.

  • Android

    Android developers can now access the data in the heads-up display (HUD), which contains information about the data point at the crosshairs location.

    • New getHudDetails() function in the NativeLibraryBridge namespace gathers and returns the heads-up display data based on cursor position.
  • Web components

    The ChartIQ W3C-standard web components have been redesigned to make them fully compatible with all major JavaScript component frameworks, including Angular and React. The web components have been fully encapsulated to ensure consistent behavior and reliability. Component communication is managed by means of a new publish/subscribe messaging model.

    The rearchitected web components form the foundation of the new Angular component toolkit. They also make the ChartIQ templates, such as technical-analysis-chart.html and basic-chart.html, an even better choice for customers who want a quick and easy but full-featured charting solution.

    Note: The 7.4.0 technical-analysis-chart.html and basic-chart.html templates must be updated to work with the new web components. Please see the 7.4.0 to 7.5.0 upgrade notes.

Other enhancements

  • New CIQ.ChartEngine#getPeriodicity function returns the periodicity of the chart. The values returned for period, interval, and timeUnit are converted from their internal format to the format specified by CIQ.ChartEngine~PeriodicityParameters and required by the CIQ.ChartEngine#setPeriodicity function and CIQ.ChartEngine#loadChart function.

  • New sample-config.js file contains all of the chart default configuration information that was formerly in sample-template.js, making sample-template.js simpler and more concise. By returning a configuration object through its getDefaultConfig function, sample-config.js empowers CIQ.UI.Chart#createChartAndUI to perform much of the work previously done by sample-template.js, which simplifies framework integration.

  • The technical-analysis-chart.html and basic-chart.html templates have been significantly simplified thanks to the new, rearchitected web components. All DOM generation now takes place in the web component, but if a template is needed, the web component can inject that as well (as in previous versions).