Skip to main content
Version: v24

Release Notes

tip

You can check the library version by executing TradingView.version() in a browser console.

Version 24.004

Date: Mon Apr 24 2023

New Features

  • Indicators can now be favorited. Indicators can now be favorited by tapping on the star icon to the left of the indicator name. Favorited indicators will appear at the top of the indicator list.
    • The items_favoriting featureset should be enabled. more info
  • Adding two featuresets to hide the right_toolbar or its tabs. There are 2 new featuresets hide_right_toolbar & hide_right_toolbar_tabs plus an additional WidgetBar API changeWidgetBarVisibility to control the right toolbar.
    • hide_right_toolbar allows you to instantiate the toolbar without showing it in the UI.
    • hide_right_toolbar_tabs will do the same with the exception of not showing tabs when displaying the right toolbar.

Improvements

  • Added a middle band for the RSI indicator. Unlike on tradingview.com RSI was not presenting the option to plot a middle limit.
  • Indicators favorites can now be defined within widget constructor. Indicators can now be defined as favorites using the favorites property of the widget constructor options. See Favorites.indicators for more information.
  • Add a way to independently clear bar marks/timescale marks. clearMarks method has been enhanced to pass in an option to choose which marks should be cleared on the chart.
    • By default behaviour will remain similar and both bar & TimeScale marks will be removed.
    • Passing ClearMarksMode.BarMarks will only remove bar marks.
    • Passing ClearMarksMode.TimeScaleMarks will only remove TimeScale marks.
  • BREAKING CHANGE Discrepancy in chart style/type methods. Only TypeScript breaking change as an interface has been renamed to better reflect its purpose. SeriesStyle is now SeriesType.

Bug Fixes

  • load_study_template event is not emitted. load_study_template event was not emitted when applying a template on the chart.
  • Fixed autosize bug occurring on Chrome iOS when rotating the device. Workaround fix for a browser bug until Chrome resolves the issue on their side.
  • Fixed the type definitions for a few of the PineJS Std library functions. PineJSStd documentation.

Documentation

  • New Key Features article. We have added the Key Features article that lists features supported/unsupported in Advanced Charts and Trading Terminal.
  • How to connect data via Datafeed API. We have added a new tutorial on connecting data via Datafeed API. It will help you implement datafeed and real-time data streaming to the library step-by-step.

Other

  • Incorrect watermark property key. Deprecated symbolWatermarkProperties property has now been removed. Please use settings_adapter with symbolWatermark key instead or applyOverrides to change values.

Version 24.003

Date: Tue Apr 11 2023

New Features

  • Images within bar marks. Bar marks now support the rendering of images as the background by specifying the imageUrl property. Please see the Mark interface for more details.
  • Price Source and Long Description symbol info fields. Add support for displaying the price source and long description fields from the symbol info.
    • To enable the price source first add symbol_info_price_source to the list of enabled features. Then it will be shown in the legend, if available. It can be hidden through the legend context menu and the series property dialog.
    • To enable the long description first add symbol_info_long_description to the list of enabled features. Then it will be shown in the legend, if available. It can be hidden through the legend context menu and the series property dialog.

Improvements

  • Added more styling options for bar marks. The styling options for bar marks has been expanded to include options for styling the border.
    • Border color can be set using the border property within color of the Mark interface. See MarkCustomColor
    • Border width can be set using borderWidth and hoveredBorderWidth. See Mark
  • Drawing tools favorites can now be defined within widget constructor. Drawing tools can now be defined as favorites using the favorites property of the widget constructor options. See Favorites.drawingTools for more information.
  • Context menu API can now be used within the Watchlist. watchlist_context_menu featureset is enabled by default. See onContextMenu for more details.
  • Improved typings within package.json. The package.json bundled with the library has been improved to support newer versions of node, and offer improved typings. See NPM for more details.
  • Price scale now supports numbers with more than 10 decimal points.
  • Timezone data has been updated.

Bug Fixes

  • Chart type won't change when restoring default options. The chart type will no longer change when restoring the default options within the chart settings dialog.
  • Last visible bar value in legend for overlay studies. When use_last_visible_bar_value_in_legend featureset is enabled, overlay studies will display the value for the last visible item on the chart. This now matches the behavior for the main series.
  • Fixed zoom behavior for percentage right margin option. Incorrect zooming behavior has been fixed for zoom buttons appearing on the chart, and the keyboard shortcuts. See show_percent_option_for_right_margin featureset for more information.

Documentation

Other

  • Added symbol information to datafeed error messages. Added symbol information to realtime subscription error messages to improve the developer experience.
  • Updated localisation list. The list of support localisations has been updated. Additionally, the chart will now fallback to english (with a console warning) if an unsupported locale is specified in the widget constructor options.

Version 24.002

New Features

  • Added support for specifying custom timezones.
    • Additional custom timezones can now be specified for use within the library. Please see the Adding Custom Timezones section within the Timezones page.
  • Images within timescale marks.
    • Timescale marks now support the rendering of images within the circular shape by specifying the imageUrl property. Please see the TimescaleMark interface for more details.
  • Support different margin rates for different order types. 6607
    • marginRate has been deprecated
    • A supportLeverageButton flag that displays a leverage button has been added to the Broker configuration.
    • The supportLeverage flag enables leverage calculation by getting information from leverageInfo.

Enhancements

  • Add horizontal line at 0 for Momentum study.

Bug fixes

  • setUserEditEnabled does not hide 3 dots in Legend. 6765 | 6165

    widget.activeChart().getAllStudies().forEach(({ id }) => {
    console.log(id);
    tvWidget.activeChart().getStudyById(id).setUserEditEnabled(false);
    });
    • setUserEditEnabled(false) should mask all icons except the "eye".
    • setUserEditEnabled(true) should restore all the icons.
  • priceFormatter could previously only be used for main series. priceFormatter now applies to secondary series as well.

  • right_toolbar featureset didn't have a default on value.

  • Empty time frames at the bottom toolbar if data_status: endofday

  • Export data doesn’t include projected data.

    • Projected data can be included by setting includeOffsetStudyValues to true.
    • await widget.activeChart().exportData({ includeOffsetStudyValues: true });
  • Highest PineJS.Std function doesn’t work correctly with negative numbers.

  • Missing types in bundled definition file. 7445 | 7446

  • Exposing icon prop in CreateShapeOptionsBase. 6723

  • Wrong extended session background color 7443

Documentation

  • Added migration guide from Advanced Charts to Trading Terminal.
  • Added additional documentation for Drawings.
  • Missing overrides in documentation. 7457
  • Updated documentation for Marks.
  • Align ChartMetaInfo & ChartData.

Other

Version 24.001

New Features

  • Adding originalText as an additional field to UndoRedoState. Event should mention the name of the action in plain English in addition to also being translated to the corresponding language. UndoRedoState
  • Add the ability to change X-Axis margin % from Chart Properties. A new featureset has been added show_percent_option_for_right_margin that adds additional percentage option to the right margin section of the chart settings dialog.
  • Display rightmost visible value when in percent mode. A new featureset has been added use_last_visible_bar_value_in_legend to show the most recent “global” bar value. When this feature is enabled the rightmost bar in the visible range is used instead.
  • Ability to change on the fly the Currency and Unit label setting. currencyAndUnitVisibility API
  • Add simple SSR support. Allow the library to be imported within a NodeJS context. This improves support for frameworks such as Remix.
  • Added clearUndoHistory.

Improvements

Bug Fixes

  • Incomplete indicators when using Heikin-Ashi. Indicator line should draw to all the visible data points.
  • Compare study doesn’t save and restore ticker name correctly. The compare study should work for custom ticker names just like it does for ticker names which match our format (with the colon).
  • VPFR: Right point is automatically moving when dragging start point. When drawing the VPFR, or moving one of the anchor points, it is expected that the right anchor point should not move one bar further to the right.
  • Selecting Apply Defaults option within chart settings doesn’t work. Some Settings even if not validated are not restored to their original values when Apply Defaults is selected.
  • Decentralised app browser loading error. Chart fails to load in wallet apps like MetaMask, Trust & Phantom. Enable the iframe_loading_compatibility_mode featureset to enable compatibility with these browsers.
  • When disabled, widget bar still present a significant margin. Even when there aren't any pages or widget in the right toolbar and IF right_toolbar is disabled, contrary to the drawing toolbar that vanishes the widget bar stays there with the pill button to expand it whereas there isn't anything to expand.
  • Can’t enable header_compare feature without header_symbol_search.
    • Disabling header_symbol_search should only hide the search button
    • Disabling header_compare should only hide the compare button
  • Removed section of PostCSS syntax in bundled css files.

Other

  • New Documentation site. 🎉
  • Add shape to TimeScale. Shape property is described in TimescaleMark interface.
  • Remove magnet icon near cursor.

Version 24

  • preset Widget-Constructor parameter has been removed. Users can still use some featuresets to mimic the same behavior by disabling the following list:
    • 'left_toolbar', 'header_widget', 'timeframes_toolbar', 'edit_buttons_in_legend', 'context_menus', 'control_bar', 'border_around_the_chart'
  • chart_style_hilo featureset is now enabled by default. This adds the High-low option to chart style controls dropdown. This featureset has been available since 1.15 but was previously disabled by default.
  • Added typings for custom indicators. Typescript equivalents of our existing examples are available here: Custom Studies Typescript Examples.
  • symbol_search_complete has changed. The function now takes an additional search result object parameter, and returns an additional human-friendly symbol name.
  • Mark tooltips do not support HTML anymore.

UI changes

  • With this version you will notice that the top toolbar has been redesigned with the following changes:

    • Button padding & separator size have been reduced
    • Compare button has shifted next to Symbol
    • Drawing icon is now more prominent
    • New fullscreen icon
    • Save button style better highlights when there's a change
    • Top toolbar now extends to left & right edges
    • UI font changes to a default system one
    • Undo/redo buttons are now relocated next to the save button

Trading Terminal

Version 23

  • Average close price line is now masked by default in Chart settings and can be shown by using show_average_close_price_line_and_label featureset.

Version 22

  • Methods getTimezone and setTimezone have been deprecated and will be removed in future versions. Use getTimezoneApi instead.

  • POST request data format sent to snapshot_url has been changed. Since this version this request contains multipart/form-data with the field preparedImage that represents binary data of the snapshot image in image/png format.

  • Optional inputs arguments for createStudy has been changed from using an array of ordered values to an object with named properties. You can still use array-like inputs but it will be removed in further releases.

  • The set of inputs for Moving Average study has been changed and the first input now is a symbol. If you used createStudy to create Moving Average study you will have to modify the list of inputs by simply adding an empty string as the first element:

    tvWidget.activeChart().createStudy('Moving Average', true, false, ['', 9]);

    instead of

    tvWidget.activeChart().createStudy('Moving Average', true, false, [9]);
  • Study Ichimoku has been modified with some Inputs & Style properties renamed.

  • Both scrollPosition and defaultScrollPosition from Chart-Methods have been deprecated in favour of rightOffset and defaultRightOffset accordingly.

  • The rest.html file and datafeeds/rest directory have been removed.

  • When subscribed to drawing_event a click is no longer emitted when a drawing is created. A create event is emitted instead.

  • Study True Strength Indicator has been renamed to True Strength Index and modified with its style elements being properly named with 1st Plot becoming True Strength Index & second Plot becoming Signal.

Trading Terminal

  • The watchList method now returns a promise that resolves a watchlist API object when the watchlist widget has loaded.

  • suggestedQty has been removed from the Trading Host.

  • dome_widget featureset which controls the DOM widget visibility has be deprecated in favour of dom_widget.

Version 21

  • Featureset show_dialog_on_snapshot_ready has been removed. takeScreenshot makes a snapshot silently, so you can use the URL from onScreenshotReady callback to show your own dialog instead.

  • Field holidays from SymbolInfo has been renamed to session_holidays.

  • changeTheme from Widget Methods now returns a Promise. You can apply other style modifications after the promise is fulfilled.

  • Symbol type bitcoin has been renamed to crypto.

  • The symbol search dialog suggestions list uses the full_name instead of the exchange and symbol value. This data is provided by your implementation of searchSymbols.

Trading Terminal

  • supportModifyOrder flag has been marked deprecated and will be removed in future versions. Use supportModifyOrderPrice, supportEditAmount and supportModifyBrackets instead.

  • empty formatter has been removed.

  • Flag durationForMarketOrders has been removed from Broker Configuration configFlags object. To use duration with market orders, add appropriate order type to supportedOrderTypes array.

  • supportReducePosition flag has been removed from the Broker Configuration configFlags object.

  • supportExecutions flag has been added. If broker supports executions you need to set the flag to true.

  • The default value of asc field of the SortingParameters has been changed to true.

  • The customFormatters field has been removed from the accountManagerInfo.

  • id, modificationProperty, fixedWidth, showOnMobile and showTooltipOnCell fields have been removed from the Account Manager column description. The property field has been made mandatory, so you can use it instead of id.

  • The string id field has been made mandatory in each table (Account Manager) row.

  • The return value of the method placeOrder in the Broker API has been changed from Promise<void> to Promise\<PlaceOrderResult>).

  • contextMenuEvent type in contextMenuActions in AccountManagerInfo interface has been changed from MouseEvent to MouseEvent | TouchEvent.

  • The shape of the news_provider property in the Widget Constructor options has changed. The is_news_generic and get_news properties have been replaced with a single function.

Older Versions

For breaking changes on older versions of the library please consult this page: Breaking Changes 🔐 (restricted access)