We do our best to make every next version fully compartible 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 Charting Library version by executing TradingView.version()
in a browser console.
Here is the list of breaking changes:
Charting Library
charting_library/charting_library.min.js
now is UMD module. If you just inline this script into HTML - nothing changed. But if import it as a module you should importwidget
,version
andonready
functions straight from it.searchSymbolsByName
is removed fromJS-API
, usesearchSymbols
instead.
Study overrides:
- Overrides for
Overlay
should be applied only viastudies_overrides
(andapplyStudiesOverrides
in runtime). In previous versions you had to useoverrides
andapplyOverrides
). See [[Studies-Overrides|Studies-Overrides]] page. - Since this version you cannot override
showStudyArguments
andshowLastValue
usingoptions
keyword.
Trading Terminal
hasHistory
flag is removed. UsehistoryColumns
to display History in Account Manager.
The following stuff is still supported in Trading Terminal, but will be deprecated in future versions:
subscribePL
andunsubscribePL
. The broker should callplUpdate
method of the Host every time when the profit is changed.supportDOM
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
removed. Broker API should update [[Broker API|Trading-Host]] 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 constants.
- Position
avg_price
renamed toavgPrice
. tradingController
field in the [[Widget Constructor]] is removed. UsebrokerFactory
instead.
Trading Terminal
The following stuff is still supported in Trading Terminal, but will be deprecated in future versions:
supportDOME
renamed tosupportDOM
.- Changed signature of `showClosePositionDialog.
showEditBracketsDialog
renamed toshowPositionBracketsDialog
, changed signature.
- Default behavior of Volume indicator is 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 on first load of an empty chart if it is supported by an active instrument.
- We don't compile Pine scripts anymore. You can still use scripts compiled before.
- Chart has no option to show only actual orders anymore. Appropriate methods have been removed.
showOrderDialog
receives an object instead of arguments listshowSampleOrderDialog
removed, use [[showOrderDialog|Trading-Host#showorderdialogorder-handler]] insteadshowOrderDialog
removed from [[Broker API|Broker API]], useplaceOrder
andmodifyOrder
receivesilently
argument insteadreversePosition
,closePosition
,cancelOrder
have an additional argumentsilently
. They should should appropriate dialogs by themselves from now.
- Since this version it is not enough to call
setSymbol
with the same symbol. You should callonResetCacheNeededCallback
fromsubscribeBars
first. Then you can usesetSymbol
or newresetData
method of the chart. - JSAPI protocol version 1 is not supported any more.
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 property. 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 usepaneProperties.vertGridProperties.*
andpaneProperties.horzGridProperties.*
-
Override
mainSeriesProperties.candleStyle.wickColor
is not supported anymore. UsemainSeriesProperties.candleStyle.wickUpColor
andmainSeriesProperties.candleStyle.wickDownColor