Version 8.9.0
Release date: Jan 31, 2023
See the 8.8.0 to 8.9.0 upgrade notes for information about upgrading to this version.
Deprecated functions
CIQ.UI.Chart#chartAreaTopSetter
— Updates to the top position of the chart are now automatically handled by CIQ.UI.createChartAndUI.
New features
-
Measurement Line drawing tool — A new advanced drawing tool that allows uses to mark sections across all panels by adding or moving two vertical lines to set the beginning and end of the section. The tool will show a real-time callout with the pertinent information for the selected section, and a regression line in the middle.
Figure. The Measurement Line tool displays information about a section of a chart marked by the user.
-
The drawing automatically attaches to the Close, but it can be set to any OHCL value. Users may select different values for the start line and end lines.
-
The callout displays the following values by default:
- Start date/value
- End date/value
- Price delta
- Number of bars
-
The the following values can be added to the callout, but are not displayed by default:
- Annualized Percent
- Volume
- Study delta
-
The callout position can be adjusted along the starting vertical line.
-
-
Drawing tools span across vertical panels — Users can now set drawing tools that include vertical lines to span across all panels.
Figure. Vertical lines can be set to span all panels.
-
Relevant tools include vertical line, cross line, and the new measurement line.
-
For the two pre-existing tools, vertical line and crossline, a checkbox for this option has been added to the tool dialogs, so that users may decide if they want a drawing to appear only in the main panel or spanning all study panels as well.
- By default, the box is unchecked, preserving legacy behavior. Clients can configure the default if they wish.
-
-
CrossPlot now displays numerically-scaled x-axes — Developers can set the new programmable switch
crossSection.xAxisType
toregular
the defaultConfiguration file to set a CrossPlot x-axis to display uniformly-spaced ticks that do not correspond to instrument values. Previously, if the x-axis were set to display numerical values, it could only display instrument values, though these may be evenly spaced or scaled. Now, it can also display regular numerical increments instead.Figure. CrossPlot can display a uniformly-spaced and numbered x-axis independant of instrument values.
- See the CrossPlot Cross Sections tutorial for more about using and customizing Crossplots.
Enhancements
-
Multi-charts use a single trade-from-chart sidebar — The multi-chart template now displays a single trade-from-chart sidebar, which all charts in the grid can use.
Figure. One TFC sidebar can be used by all charts in a multi-chart grid.
-
New CIQ.TFC.setupChartControls function sets up the intractable elements of TFC.
-
New CIQ.TFC#switchContext function allows changing charts within TFC.
-
-
New
onMultiChartEvent
method adds customizable code that executes right before a chart is added, context-switched, or removed in a multi-chart setup. Developers can use this method to manage quote subscriptions and implement cleanup for any custom objects they may have added.- See the Chart Configuration tutorial for information on configuring this method.
-
Multi-charts preserve layouts as grid expands and contracts — Users no longer need to reenter symbols when they change the size of a multi-chart grid. For example, if a user sets up symbols for all 9 charts in a 3x3 grid, then contracts the grid to 2x2, only the first 4 layouts will show. If they then go back to 3x3, the 9 layouts they previously set will show.
-
Mobile SDK New CIQ.MobileBridge.setRefreshInterval function allows users to change the chart refresh interval from the native mobile apps. Previously, developers had to change this interval in the JS config file.
-
Web components — The following updates have been made to our web components as part of a larger re-architecting to make them easier for framework developers to customize. A full tutorial on how to work with the web components can be found here: Web Component Interface.
-
Updates to CIQ.UI namespace expose two collections: CIQ.UI.keyboardClaims, a Set of components which are configured to respond to keyboard events, and CIQ.UI.shadowComponents, a Map of components which use shadow DOM.
-
Update to [CIQ.UI.stxtap] limits each element to only one
stxtap
event. If an additional one is added, the existing one is removed. This update allows thestxtap
event to be changed by changing an attribute of the element. -
Update to CIQ.UI.BaseComponent#highlightItem add the
delay
parameter, which specifies a number of milliseconds to delay before highlighting. -
Update to CIQ.UI.BaseComponent#qsa adds the Boolean parameter
bustShadowRoots
that, if set to true, allows developers to penetrate shadow root boundaries. -
New CIQ.UI.BaseComponent#emitCustomEvent method emits a custom event from a webcomponent.
-
New CIQ.UI.BaseComponent#initMenusAndToggles method sets up
MenuConfig
andToggleConfig
helpers to the UI context to allow for custom menu configuration. -
New CIQ.UI.closestContextContainer static method finds the closest cq-context or cq-context-wrapper tag within an element's ancestry, including elements in the ShadowDOM. This method is like the native
HtmlElement.closest()
function except it pierces through shadow roots. -
New CIQ.UI.Layout#getHeadsUp activates the heads-up radio button on the drop-down menu, while a new CIQ.UI.Layout#setHeadsUp method sets the heads-up type from the drop-down menu.
-
-
New constructor functions for ScriptIQ, Analyst Views, and Technical Insights plugins — New CIQ.ScriptIQ, CIQ.TCAnalystViews, and CIQ.TCTechnicalInsights constructors allows
config
to be in the defaultConfiguration file rather than the template component.-
The option to configure these plugins in defaultConfiguration will be especially useful to developers working with frameworks.
-
Please see the upgrade notes for instructions on using pre-8.9 templates with the 8.9 library.
-
-
New TypeScript definitions — Type definitions have been added to the following properties, making them available for developers working in TypeScript:
- CIQ.localStorage
- CIQ.I18N.csv
- CIQ.UI.Context#stx
- CIQ.UI.Context#topNode
- The
params.periodicity
parameter of CIQ.ChartEngine#setSpan - All relevant properties of CIQ.Studies.StudyDescriptor, including
name
,type
,panel
,inputs
,outputs
, and the additionalparameters
object
-
Updated WebComponents.cq-floating-window.DocWindow#positionRelativeTo method positions the keyboard shortcut dialog more usably in a scrollable window environment.
Figure. Keyboard shortcut dialog positioned more usably.
-
New CIQ.ChartEngine#isPanelWithXAxis method determines if a panel has the x-axis attached to it.
-
Update to CIQ.SignalIQ adds the
config.disallowedStudies
parameter to the constructor. Studies added to this list will be excluded from the SignalIQ dialog. -
Keltner channel study — The ATR Period now defaults to 10.
-
Volume chart study — The border color of a volume chart study can now be set via CSS. CIQ.Studies.createVolumeChart no longer autosets it.
-
Improved performance for the symbol search component Symbol searches now take less CPU usage and, especially on slower machines, less time.
-
Drawing tools palette — The dropdown menu in the drawing palette to filter tools by category is now alphabetized by category name.
Figure. Drawing tool categories are alphabetized in the dropdown menu.
- In grid view, drawing tools are grouped into categories. These categories are now arranged alphabetically as well.
-
Drawings backgrounds can have no color — Users now have the ability to select 'none' from the color palette for a drawing background color. Previously, all drawings with a background fill had to have a color as the background.
Figure. Users can select 'none' for the background color of a drawing.
-
Crosshair — The crosshair dropdown is now responsive to changes in the
layout.headsup
property. -
Interoperability — ChartIQ 8.9.0 meets FDC3 2.0, the current open standard for interoperability among financial desktop applications.
-
Timezones — Updated timezones conform to version 2022b of the IANA Time Zone Database.
-
Xignite APIs — Updated quote feed, symbol lookup, and widgets match Xignite's latest TLS protocols.