We do our best to make every next version fully compatible with the previous one, but sometimes big changes requires you to make minor changes in your code when upgrading to a new version.
Note: you can check the Charting Library version by executing TradingView.version()
in a browser console.
Here is the list of breaking changes:
- createButton returns
HTMLElement
instead ofJQuery
. - createButton must be used after headerReady()
Promise
is resolved. - getVisibleRange returns
{from, to}
in the UTC timezone (it was a timezone selected on a chart before). - Method
onready
was removed. You can usewindow.addEventListener('DOMContentLoaded', callback, false)
instead.
TypeScript type definitions
StudyInputValueType
type is renamed toStudyInputValue
.
Featureset
- Starting from this version you are no longer able to use the
keep_left_toolbar_visible_on_small_screens
featureset. This featureset is removed and the left toolbar visibility no longer depends on the screen size.
- Action
takeScreenshot
from executeActionById method is removed. Use takeScreenshot method instead. - Action
lockDrawingsAction
from executeActionById and getCheckableActionState methods is removed. Use lockAllDrawingTools instead. - Action
hideAllDrawingsAction
from executeActionById and getCheckableActionState methods is removed. Use hideAllDrawingTools instead. - Featureset
caption_buttons_text_if_possible
is enabled by default. - Fixed an issue that was causing bars to shift. Time-shifted bars used to appear when daily bars had a negative exchange timezone offset along with a 24x7 session. If you have a workaround for this issue, please remove it before updating to this version.
Charting Library
-
charting_library/charting_library.min.js
is now UMD module.If you only inline this script into HTML then nothing has changed for you. If you import it as a module you should import
widget
,version
andonready
functions directly from it. -
searchSymbolsByName
is removed fromJS-API
, usesearchSymbols
instead.
Study overrides:
- Overrides for
Overlay
should be applied only viastudies_overrides
(andapplyStudiesOverrides
in runtime). In the previous versions you had to useoverrides
andapplyOverrides
). See Studies-Overrides page. - Starting from this version you are no longer able to override
showStudyArguments
andshowLastValue
usingoptions
keyword.
Trading Terminal
hasHistory
flag is removed. UsehistoryColumns
to display History in the Account Manager.
The following items are still supported in the Trading Terminal, but will be deprecated in future versions:
subscribePL
andunsubscribePL
. The broker should callplUpdate
method of the Host every time the profit is changed.supportDOM
is removed. DOM widget visibility can be set usingdome_widget
featureset.
The Trading Controller is replaced with Broker API.
The following changes should be applied to your Trading Controller implementation to move to new Broker API:
- Method
setHost
is removed. Host should be passed to the constructor of Broker API. - Method
buttonDropdownItems
is removed. Broker API should update Broker API usingsetButtonDropdownActions
. - Methods
configFlags
anddurations
are removed. Use Widget Constructor fields instead. - All methods that returned
$.Deferred
should be modified to return Promise. - Method
chartContextMenuItems
is renamed tochartContextMenuActions
. - Method
isTradable
changed to return a Promise instead of a Boolean value. - All string constants ("working", "buy" etc.) should be replaced with the appropriate number of constants.
- Position
avg_price
renamed toavgPrice
. tradingController
field in the Widget Constructor is removed. UsebrokerFactory
instead.
Trading Terminal
The following items are still supported in Trading Terminal, but will be deprecated in future versions:
supportDOME
renamed tosupportDOM
.- The signature of `showClosePositionDialog has been changed.
showEditBracketsDialog
was renamed toshowPositionBracketsDialog
.The signature has been changed.
-
Default behavior of Volume indicator was changed.
Previous behavior: Volume indicator is added/removed when an instrument or a resolution is switched depending on volume support by the instrument. You can get back to this behavior by disabling
create_volume_indicator_by_default_once
featureset.New behavior: Volume indicator is added when an empty chart is loaded for the first time provided that it is supported by an active instrument.
- We don't compile Pine scripts anymore. You can still use scripts that were compiled earlier.
- The chart can no longer show active orders only. Appropriate methods have been removed.
showOrderDialog
receives an object instead of arguments listshowSampleOrderDialog
removed, use showOrderDialog insteadshowOrderDialog
removed from Broker API, useplaceOrder
andmodifyOrder
receivesilently
argument insteadreversePosition
,closePosition
,cancelOrder
have an additional argumentsilently
.
- Starting from this version calling
setSymbol
with the same symbol is no longer enough. You should callonResetCacheNeededCallback
fromsubscribeBars
first. Then you can usesetSymbol
or newresetData
method of the chart. - JSAPI protocol version 1 is not supported anymore.
nextTime
andnoData
must be provided.
-
Added
source
argument to MACD. You should change MACD creation code to passsource
also.chartWidget.chart().createStudy('MACD', false, false, [12, 26, "close", 9])
-
Override
transparency
is not supported anymore. We added transparency support to every color. Usergba
form to define a color with transparency. Example:"symbolWatermarkProperties.color" : "rgba(60, 70, 80, 0.05)"
-
Override
paneProperties.gridProperties.*
is not supported anymore.Please use
paneProperties.vertGridProperties.*
andpaneProperties.horzGridProperties.*
-
Override
mainSeriesProperties.candleStyle.wickColor
is not supported anymore.Use
mainSeriesProperties.candleStyle.wickUpColor
andmainSeriesProperties.candleStyle.wickDownColor