Skip to main content

Interface: IChartWidgetApi

Charting Library.IChartWidgetApi

The main chart API.

This interface can be retrieved by using the following widget (IChartingLibraryWidget) methods:

Methods​

applyLineToolsState​

applyLineToolsState(state): Promise<void>

Apply line tools state to the chart which will restore the drawings from the saved content.

This method requires that the saveload_separate_drawings_storage featureset is enabled.

Parameters​

NameType
stateLineToolsAndGroupsState

applyOverrides​

applyOverrides(props): void

Apply overrides to a specific chart instance without reloading. See also ChartingLibraryWidgetOptions.overrides.

Parameters​

NameType
propsobject

Returns​

void

widget.chart(0).applyOverrides({"paneProperties.legendProperties.showLegend": false});

If you want to apply overrides to all charts, use IChartingLibraryWidget.applyOverrides instead.


applyStudyTemplate​

applyStudyTemplate(template): void

Apply a study template to the chart.

Parameters​

NameTypeDescription
templateobjectA study template object.

Returns​

void

widget.activeChart().applyStudyTemplate(template);

availableZOrderOperations​

availableZOrderOperations(sources): AvailableZOrderOperations

Get an object with operations available for the specified set of entities.

Parameters​

NameTypeDescription
sourcesreadonly EntityId[]An array of entity IDs.

Returns​

AvailableZOrderOperations

widget.activeChart().availableZOrderOperations([id]);

barTimeToEndOfPeriod​

barTimeToEndOfPeriod(unixTime): number

Get the bar time to the end of the period

Parameters​

NameTypeDescription
unixTimenumberdate timestamp

Returns​

number


bringForward​

bringForward(sources): void

Move the sources one level up in the Z-order.

Parameters​

NameTypeDescription
sourcesreadonly EntityId[]An array of source IDs.

Returns​

void

widget.activeChart().bringForward([id]);

bringToFront​

bringToFront(sources): void

Move the sources to the top of the Z-order.

Parameters​

NameTypeDescription
sourcesreadonly EntityId[]An array of source IDs.

Returns​

void

widget.activeChart().bringToFront([id]);

canZoomOut​

canZoomOut(): boolean

Check if the chart can be zoomed out using the zoomOut method.

Returns​

boolean — true if the chart can be zoomed out.

if(widget.activeChart().canZoomOut()) {
widget.activeChart().zoomOut();
};

canZoomOutWV​

canZoomOutWV(): IWatchedValueReadonly<boolean>

Subscription if the chart can be zoomed out using the zoomOut method.

Returns​

IWatchedValueReadonly<boolean>


cancelSelectBar​

cancelSelectBar(): void

Cancel any active bar selection requests.

Returns​

void

widget.activeChart().cancelSelectBar();

chartType​

chartType(): SeriesType

Returns the main series style type.

console.log(widget.activeChart().chartType());

Returns​

SeriesType


clearMarks​

clearMarks(marksToClear?): void

Remove marks from the chart.

Parameters​

NameTypeDescription
marksToClear?ClearMarksModetype of marks to clear. If nothing is specified both bar & timescale marks will be removed.

Returns​

void

widget.activeChart().clearMarks();

createAnchoredShape​

createAnchoredShape<TOverrides>(position, options): Promise<EntityId>

Create a new anchored drawing. Anchored drawings maintain their position when the chart's visible range changes.

Type parameters​

NameType
TOverridesextends object

Parameters​

NameTypeDescription
positionPositionPercentsPercent-based x and y position of the new drawing, relative to the top left of the chart.
optionsCreateAnchoredShapeOptions<TOverrides>An options object for the new drawing.

Returns​

Promise<EntityId>

widget.activeChart().createAnchoredShape({ x: 0.1, y: 0.9 }, { shape: 'anchored_text', text: 'Hello, charts!', overrides: { color: 'green' }});

For more information, refer to Drawings API.


createExecutionShape​

createExecutionShape(): Promise<IExecutionLineAdapter>

Creates a new trade execution on the chart. For more information, refer to Trading primitives.

Starting from version 29, this method is only available in Trading Platform.

Returns​

Promise<IExecutionLineAdapter> — An API object for interacting with the execution.

const executionLine = widget.activeChart().createExecutionShape();
executionLine
.setText("@1,320.75 Limit Buy 1")
.setTooltip("@1,320.75 Limit Buy 1")
.setTextColor("rgba(0,255,0,0.5)")
.setArrowColor("#0F0")
.setDirection("buy")
.setTime(widget.activeChart().getVisibleRange().from)
.setPrice(160);

createMultipointShape​

createMultipointShape<TOverrides>(points, options): Promise<EntityId>

Create a new multi point drawing.

Type parameters​

NameType
TOverridesextends object

Parameters​

NameTypeDescription
pointsShapePoint[]An array of points that define the drawing.
optionsCreateMultipointShapeOptions<TOverrides>An options object for the new drawing.

Returns​

Promise<EntityId> — Promise of the ID for the new drawing if it was created successfully.

const from = Date.now() / 1000 - 500 * 24 * 3600; // 500 days ago
const to = Date.now() / 1000;
widget.activeChart().createMultipointShape(
[{ time: from, price: 150 }, { time: to, price: 150 }],
{
shape: "trend_line",
lock: true,
disableSelection: true,
disableSave: true,
disableUndo: true,
text: "text",
}
);

For more information, refer to Drawings API.


createOrderLine​

createOrderLine(): Promise<IOrderLineAdapter>

Creates a new trading order on the chart. For more information, refer to Trading primitives.

Starting from version 29, this method is only available in Trading Platform.

Returns​

Promise<IOrderLineAdapter> — An API object for interacting with the order.

const orderLine = await widget.activeChart().createOrderLine();
orderLine
.setTooltip("Additional order information")
.setModifyTooltip("Modify order")
.setCancelTooltip("Cancel order")
.onMove(function() {
this.setText("onMove called");
})
.onModify("onModify called", function(text) {
this.setText(text);
})
.onCancel("onCancel called", function(text) {
this.setText(text);
})
.setText("STOP: 73.5 (5,64%)")
.setQuantity("2");

createPositionLine​

createPositionLine(): Promise<IPositionLineAdapter>

Creates a new trading position on the chart. For more information, refer to Trading primitives.

Starting from version 29, this method is only available in Trading Platform.

Returns​

Promise<IPositionLineAdapter> — An API object for interacting with the position.

const positionLine = await widget.chart().createPositionLine();
positionLine
.onModify(function() {
this.setText("onModify called");
})
.onReverse("onReverse called", function(text) {
this.setText(text);
})
.onClose("onClose called", function(text) {
this.setText(text);
})
.setText("PROFIT: 71.1 (3.31%)")
.setTooltip("Additional position information")
.setProtectTooltip("Protect position")
.setCloseTooltip("Close position")
.setReverseTooltip("Reverse position")
.setQuantity("8.235")
.setPrice(160)
.setExtendLeft(false)
.setLineStyle(0)
.setLineLength(25);

createShape​

createShape<TOverrides>(point, options): Promise<EntityId>

Create a new single point drawing.

Type parameters​

NameType
TOverridesextends object

Parameters​

NameTypeDescription
pointShapePointA point. The location of the new drawing.
optionsCreateShapeOptions<TOverrides>An options object for the new drawing.

Returns​

Promise<EntityId> — Promise of the ID for the new drawing if it was created successfully.

widget.activeChart().createShape({ time: 1514764800 }, { shape: 'vertical_line' });

For more information, refer to Drawings API.


createStudy​

createStudy<TOverrides>(name, forceOverlay?, lock?, inputs?, overrides?, options?): Promise<EntityId>

Adds an indicator or a symbol for comparison to the chart. For more information, refer to the Indicators article.

Type parameters​

NameType
TOverridesextends Partial<SingleIndicatorOverrides>

Parameters​

NameTypeDescription
namestringname of an indicator as shown in the Indicators widget
forceOverlay?booleanforces the Charting Library to place the created indicator on the main pane
lock?booleanwhether a user will be able to remove/change/hide the indicator or not
inputs?Record<string, StudyInputValue>From version v22, it's an object containing named properties from the indicator properties dialog.
overrides?TOverridesAn object that contains overrides for a new indicator. Note that you should not specify the indicator name. Overrides for built-in indicators are listed in SingleIndicatorOverrides.
options?CreateStudyOptionsstudy creation options

Returns​

Promise<EntityId> — ID of the created study


createStudyTemplate​

createStudyTemplate(options): object

Save the current study template to a object.

Parameters​

NameTypeDescription
optionsCreateStudyTemplateOptionsAn object of study template options.

Returns​

object — A study template object.

const options = { saveSymbol: true, saveInterval: true };
const template = widget.activeChart().createStudyTemplate(options);

crossHairMoved​

crossHairMoved(): ISubscription<(params: CrossHairMovedEventParams) => void>

Get a subscription object for the crosshair moving over the chart.

Returns​

ISubscription<(params: CrossHairMovedEventParams) => void> — A subscription object for the crosshair moving over the chart.

widget.activeChart().crossHairMoved().subscribe(
null,
({ time, price }) => console.log(time, price)
);

dataReady​

Returns a promise that resolves when chart data is loaded. If chart data is already loaded when this method is called, the promise resolves immediately.

Starting from version 32, calling dataReady() without a callback returns a Promise<boolean>. Code that needs to run after the data is loaded should await the promise. Code that relied on the previous synchronous boolean return value should be migrated to an explicit synchronous state check.

Returns​

Promise<boolean> — A promise that resolves with true when chart data is loaded.

widget.activeChart().dataReady().then(() => {
// ...
});

Deprecated

dataReady(callback): boolean

Deprecated

Use dataReady instead.

Provide a callback function that will be called when chart data is loaded. If chart data is already loaded when this method is called, the callback is called immediately.

Parameters​

NameTypeDescription
callback() => voidA callback function called when chart data is loaded.

Returns​

boolean


endOfPeriodToBarTime​

endOfPeriodToBarTime(unixTime): number

Get the end of period to bar time

Parameters​

NameTypeDescription
unixTimenumberdate timestamp

Returns​

number


executeActionById​

executeActionById(actionId): void

Execute an action by ID. See Chart methods for more information.

Parameters​

NameTypeDescription
actionIdChartActionIdAn action ID.

Returns​

void

// Undoes the last applied action
widget.activeChart().executeActionById("undo");

// Opens or hides the drawing toolbar
widget.activeChart().executeActionById("drawingToolbarAction");

exportData​

exportData(options?): Promise<ExportedData>

Export the current data from the chart.

Parameters​

NameTypeDescription
options?Partial<ExportDataOptions>Optional object of options to control the exported data.

Returns​

Promise<ExportedData> — A promise that resolves with the exported data.

// Exports series' data only
widget.activeChart().exportData({ includeTime: false, includedStudies: [] });
// Exports series' data with times
widget.activeChart().exportData({ includedStudies: [] });
// Exports series' data with with user time
widget.activeChart().exportData({ includeTime: false, includeUserTime: true, includedStudies: [] });
// Exports data for the indicator which ID is STUDY_ID
widget.activeChart().exportData({ includeTime: false, includeSeries: false, includedStudies: ['STUDY_ID'] });
// Exports all available data from the chart
widget.activeChart().exportData({ includeUserTime: true });
// Exports series' data before 2018-01-01
widget.activeChart().exportData({ includeTime: false, to: Date.UTC(2018, 0, 1) / 1000 });
// Exports series' data after 2018-01-01
widget.activeChart().exportData({ includeTime: false, from: Date.UTC(2018, 0, 1) / 1000 });
// Exports series' data in the range between 2018-01-01 and 2018-02-01
widget.activeChart().exportData({ includeTime: false, from: Date.UTC(2018, 0, 1) / 1000, to: Date.UTC(2018, 1, 1) / 1000 });
// Exports all displayed data on the chart
widget.activeChart().exportData({ includeDisplayedValues: true });

getAllPanesHeight​

getAllPanesHeight(): number[]

Get an array of the heigh of all panes.

Returns​

number[] — An array of heights.

console.log(widget.activeChart().getAllPanesHeight());

getAllShapes​

getAllShapes(): EntityInfo[]

Get an array of IDs and name for all drawings on the chart.

Returns​

EntityInfo[] — An array of drawing information.

widget.activeChart().getAllShapes().forEach(({ name }) => console.log(name));

getAllStudies​

getAllStudies(): EntityInfo[]

Get an array of IDs and names for all studies on the chart.

Returns​

EntityInfo[] — An array of study information.

widget.activeChart().getAllStudies().forEach(({ name }) => console.log(name));

getCheckableActionState​

getCheckableActionState(actionId): boolean

Get the state of a checkable action.

Parameters​

NameTypeDescription
actionIdChartActionIdAn action ID.

Returns​

boolean — null if the action with specified id doesn't exist or is not checkable, true if the action is checked, false otherwise.

if (widget.activeChart().getCheckableActionState("drawingToolbarAction")) {
// ...
};

getLineToolsState​

getLineToolsState(): LineToolsAndGroupsState

Get the line tools state containing the drawings on the active chart.

This method requires that the saveload_separate_drawings_storage featureset is enabled.

Returns​

LineToolsAndGroupsState


getPanes​

getPanes(): IPaneApi[]

Get an array of API objects for interacting with the chart panes.

Returns​

IPaneApi[]

widget.activeChart().getPanes()[1].moveTo(0);

getPriceToBarRatio​

getPriceToBarRatio(): number

Get the chart's price to bar ratio.

Returns​

number — The ratio or null if no ratio is defined.

console.log(widget.activeChart().getPriceToBarRatio());

getSeries​

getSeries(): ISeriesApi

Get the main series.

Returns​

ISeriesApi — An API object for interacting with the main series.

widget.activeChart().getSeries().setVisible(false);

getShapeById​

getShapeById(entityId): ILineDataSourceApi

Get a drawing by ID.

Parameters​

NameTypeDescription
entityIdEntityIdA drawing ID.

Returns​

ILineDataSourceApi — An API object for interacting with the drawing.

widget.activeChart().getShapeById(id).bringToFront();

For more information, refer to Drawings API.


getStudyById​

getStudyById(entityId): IStudyApi

Get a study by ID.

Parameters​

NameTypeDescription
entityIdEntityIdThe study ID.

Returns​

IStudyApi — An API object for interacting with the study.

widget.activeChart().getStudyById(id).setVisible(false);

getTimeScale​

getTimeScale(): ITimeScaleApi

Get an API object for interacting with the timescale.

Returns​

ITimeScaleApi

var time = widget.activeChart().getTimeScale().coordinateToTime(100);

getTimezoneApi​

getTimezoneApi(): ITimezoneApi

Get an API object for interacting with the chart timezone.

Returns​

ITimezoneApi


getVisibleBarsRange​

getVisibleBarsRange(): VisibleBarsTimeRange

Returns the range of bar times currently shown on the chart.

  • This range includes existing bars and any visible incomplete bars created by non-time-based chart styles (for example, Renko).
  • This range does not include future bar times beyond the last visible bar. To include them, use IChartWidgetApi.getVisibleRange instead.

Returns​

VisibleBarsTimeRange


getVisibleRange​

getVisibleRange(): VisibleTimeRange

Get the current visible time range.

Returns​

VisibleTimeRange

console.log(widget.activeChart().getVisibleRange());

inactivityGaps​

inactivityGaps(): IWatchedValue<boolean>

The visibility of inactivity gaps on intraday and DWM (daily, weekly, monthly) charts.

The inactivity_gaps featureset should be enabled to use this option.

When enabled (true), the chart displays gaps during trading sessions where there is missing data due to market inactivity. Otherwise, these gaps are hidden and the chart appears continuous.

Returns​

IWatchedValue<boolean>


isMaximized​

isMaximized(): boolean

Check if the chart is maximized or not.

Returns​

boolean — true if maximized, false otherwise.


isPriceToBarRatioLocked​

isPriceToBarRatioLocked(): boolean

Get the locked/unlocked state of the chart's price to bar ratio.

Returns​

boolean

console.log(widget.activeChart().isPriceToBarRatioLocked());

isSelectBarRequested​

isSelectBarRequested(): boolean

Check if bar selection mode is active or not.

Returns​

boolean — true if active, false otherwise.

var isRequested = widget.activeChart().isSelectBarRequested();

loadChartTemplate​

loadChartTemplate(templateName): Promise<void>

Load and apply a chart template.

Parameters​

NameTypeDescription
templateNamestringThe name of the template to load.

marketStatus​

Get a readonly watched value that can be used to read/subscribe to the state of the chart's market status.

Returns​

IWatchedValueReadonly<MarketStatus>


maximizeChart​

maximizeChart(): void

Maximize to its full size currently selected chart.

Returns​

void

widget.activeChart().maximizeChart();

onChartTypeChanged​

onChartTypeChanged(): ISubscription<(chartType: SeriesType) => void>

Get a subscription object for the chart type changing.

Returns​

ISubscription<(chartType: SeriesType) => void> — A subscription object for the chart type changing.

widget.activeChart().onChartTypeChanged().subscribe(
null,
(chartType) => console.log('The type of chart is changed')
);

onDataLoaded​

onDataLoaded(): ISubscription<() => void>

Get a subscription object for new data being loaded for the chart.

Returns​

ISubscription<() => void> — A subscription object for new data loaded for the chart.

widget.activeChart().onDataLoaded().subscribe(
null,
() => console.log('New history bars are loaded'),
true
);

onHoveredSourceChanged​

onHoveredSourceChanged(): ISubscription<(sourceId: EntityId) => void>

Get a subscription object for the ID of the study or series hovered by the crosshair.

Returns​

ISubscription<(sourceId: EntityId) => void> — A subscription object for the ID of the study or series hovered by the crosshair. Subscribers will be called with null if there is no study or series hovered.


onIntervalChanged​

onIntervalChanged(): ISubscription<(interval: ResolutionString, timeFrameParameters: { timeframe?: TimeFrameValue }) => void>

Get a subscription object for the chart resolution (interval) changing. This method also allows you to track whether the chart's date range is changed. The timeframe argument represents if a user clicks on the time frame toolbar or changes the date range manually. If timeframe is undefined, you can change a date range before data loading starts. To do this, you can specify a time frame value or a certain date range.

Returns​

ISubscription<(interval: ResolutionString, timeFrameParameters: { timeframe?: TimeFrameValue }) => void> — A subscription object for the chart interval (resolution) changing.

The following code sample specifies a time frame value:

widget.activeChart().onIntervalChanged().subscribe(null, (interval, timeframeObj) =>
timeframeObj.timeframe = {
value: "12M",
type: "period-back"
});

The following code sample specifies a certain date range:

widget.activeChart().onIntervalChanged().subscribe(null, (interval, timeframeObj) =>
timeframeObj.timeframe = {
from: new Date('2015-01-01').getTime() / 1000,
to: new Date('2017-01-01').getTime() / 1000,
type: "time-range"
});

onSymbolChanged​

onSymbolChanged(): ISubscription<(symbol: LibrarySymbolInfo) => void>

Get a subscription object for the chart symbol changing.

Returns​

ISubscription<(symbol: LibrarySymbolInfo) => void> — A subscription object for when a symbol is resolved (ie changing resolution, timeframe, currency, etc.)

widget.activeChart().onSymbolChanged().subscribe(null, () => console.log('The symbol is changed'));

onVisibleRangeChanged​

onVisibleRangeChanged(): ISubscription<(range: VisibleTimeRange) => void>

Get a subscription object for the chart's visible range changing.

Returns​

ISubscription<(range: VisibleTimeRange) => void> — A subscription object for the chart's visible range changing.

widget.activeChart().onVisibleRangeChanged().subscribe(
null,
({ from, to }) => console.log(from, to)
);

priceFormatter​

priceFormatter(): INumberFormatter

Returns the object with 'format' function that you can use to format the prices.

widget.activeChart().priceFormatter().format(123);

Returns​

INumberFormatter


refreshMarks​

refreshMarks(): void

Force the chart to re-request all bar marks and timescale marks.

Returns​

void

widget.activeChart().refreshMarks();

reloadLineToolsFromServer​

reloadLineToolsFromServer(): void

Manually trigger the chart to request the linetools again from the IExternalSaveLoadAdapter.loadLineToolsAndGroups method or the 'load_line_tools' endpoint of the Save and load REST API.

This method requires that the saveload_separate_drawings_storage featureset is enabled.


removeAllShapes​

removeAllShapes(): void

Remove all drawings from the chart.

Returns​

void

widget.activeChart().removeAllShapes();

removeAllStudies​

removeAllStudies(): void

Remove all studies from the chart.

Returns​

void

widget.activeChart().removeAllStudies();

removeEntity​

removeEntity(entityId, options?): void

Remove an entity (e.g. drawing or study) from the chart.

Parameters​

NameTypeDescription
entityIdEntityIdThe ID of the entity.
options?UndoOptionsOptional undo options.

Returns​

void

widget.activeChart().removeEntity(id);

requestSelectBar​

requestSelectBar(): Promise<number>

Switch the chart to bar selection mode.

Returns​

Promise<number> — A promise that resolves to the timestamp of a bar selected by the user. Rejects if the bar selection was already requested or is cancelled.

widget.activeChart().requestSelectBar()
.then(function(time) {
console.log('user selects bar with time', time);
})
.catch(function() {
console.log('bar selection was rejected');
});

resetData​

resetData(): void

Force the chart to re-request data, for example if there are internet connection issues. Before calling this function the IChartWidgetApi.resetCache method should be called.

Returns​

void

widget.activeChart().resetData();

resolution​

resolution(): ResolutionString

Get the current resolution (interval).

Returns​

ResolutionString

console.log(widget.activeChart().resolution());

restoreChart​

restoreChart(): void

Restore to its initial size currently selected chart.

Returns​

void

widget.activeChart().restoreChart();

selection​

selection(): ISelectionApi

Get an API object for interacting with the selection.

Returns​

ISelectionApi

widget.activeChart().selection().clear();

sendBackward​

sendBackward(sources): void

Move the sources one level down in the Z-order.

Parameters​

NameTypeDescription
sourcesreadonly EntityId[]An array of source IDs.

Returns​

void

widget.activeChart().sendBackward([id]);

sendToBack​

sendToBack(entities): void

Move the group to the bottom of the Z-order.

Parameters​

NameTypeDescription
entitiesreadonly EntityId[]An array of entity IDs.

Returns​

void

widget.activeChart().sendToBack([id]);

setAllPanesHeight​

setAllPanesHeight(heights): void

Set the height for each pane in the order provided.

Parameters​

NameTypeDescription
heightsreadonly number[]An array of heights.

Returns​

void

console.log(widget.activeChart().setAllPanesHeight([250, 400, 200]));

setChartType​

Change the chart's type.

Parameters​

NameTypeDescription
typeSeriesTypeA chart type.

Returns​

Promise<void> — A promise that resolves when the chart type has changed and data has loaded.

widget.activeChart().setChartType(12); // Specifies the High-low type

If the new chart type cannot load data. The error is created within the library iframe, so an instanceof Error check in the embedding page will fail. Check the name and message properties instead.

Deprecated

setChartType(type, callback): void

Deprecated

Use setChartType instead.

Change the chart's type.

Parameters​

NameTypeDescription
typeSeriesTypeA chart type.
callback() => voidAn optional callback function. Called when the chart type has changed and data has loaded.

Returns​

void

widget.activeChart().setChartType(12); // Specifies the High-low type

setDragExportEnabled​

setDragExportEnabled(enabled): void

Enable or disable drag-to-export feature.

Parameters​

NameTypeDescription
enabledbooleantrue to enable drag-to-export, false to disable.

Returns​

void

// Enable drag-to-export, disable default chart drag to scroll
widget.activeChart().setDragExportEnabled(true);
widget.subscribe('dragstart', (params) => {
// create a HTML element for drag image
const dragImage = createDragImage();
// set drag image
params.setDragImage(dragImage, 0, 0);
const exportData = widget.activeChart().exportData();
// transform export data to csv
const csvData = transformExportDataToCsv(exportData);
params.setData('text/plain', csvData);
});

To implement drag-to-export, you need to handle the dragstart event in your application and set the data to the dataTransfer object.


setPriceToBarRatio​

setPriceToBarRatio(ratio, options?): void

Set the chart's price to bar ratio.

Parameters​

NameTypeDescription
rationumberThe new price to bar ratio.
options?UndoOptionsOptional undo options.

Returns​

void

widget.activeChart().setPriceToBarRatio(0.4567, { disableUndo: true });

setPriceToBarRatioLocked​

setPriceToBarRatioLocked(value, options?): void

Lock or unlock the chart's price to bar ratio.

Parameters​

NameTypeDescription
valuebooleantrue to lock, false to unlock.
options?UndoOptionsOptional undo options.

Returns​

void

widget.activeChart().setPriceToBarRatioLocked(true, { disableUndo: false });

setResolution​

setResolution(resolution, options?): Promise<boolean>

Change the chart's interval (resolution).

Parameters​

NameTypeDescription
resolutionResolutionStringA resolution.
options?SetResolutionOptions | () => voidOptional object of options for the new resolution or optional callback that is called when the data for the new resolution has loaded.

Returns​

Promise<boolean> — A promise that resolves with a boolean value. It's true when the resolution has been set and false when setting the resolution is not possible.

widget.activeChart().setResolution('2M');

Note: if you are attempting to change multiple charts (multi-chart layouts) at the same time with multiple setResolution calls then you should set doNotActivateChart option to true.


setScrollEnabled​

setScrollEnabled(enabled): void

Enable or disable scrolling of the chart.

Parameters​

NameTypeDescription
enabledbooleantrue to enable scrolling, false to disable.

Returns​

void

widget.activeChart().setScrollEnabled(false);

setSymbol​

setSymbol(symbol, options?): Promise<boolean>

Change the chart's symbol.

Parameters​

NameTypeDescription
symbolstringA symbol.
options?SetSymbolOptions | () => voidOptional object of options for the new symbol or optional callback that is called when the data for the new symbol has loaded.

Returns​

Promise<boolean> — A promise that resolves with a boolean value. It's true when the symbol has been set and false when setting the symbol is not possible.

widget.activeChart().setSymbol('IBM');

Note: if you are attempting to change multiple charts (multi-chart layouts) at the same time with multiple setSymbol calls then you should set doNotActivateChart option to true.


setTimeFrame​

setTimeFrame(timeFrame): void

Set the time frame for this chart.

Note: This action will set this chart as active in a multi-chart layout.

Parameters​

NameTypeDescription
timeFrameRangeOptionsObject specifying the range and resolution to be applied

Returns​

void

To apply the '1Y' timeframe:

tvWidget.setTimeFrame({
val: { type: 'period-back', value: '12M' },
res: '1W',
});

setVisibleRange​

setVisibleRange(range, options?): Promise<void>

Allows you to display a certain time range on the chart.

Parameters​

NameTypeDescription
rangeSetVisibleTimeRangeA range that will be made visible.
options?SetVisibleRangeOptionsOptions for the new visible range.

Returns​

Promise<void> — A promise that resolves when the visible range is set.

widget.activeChart().setVisibleRange(
{ from: 1420156800, to: 1451433600 },
{ percentRightMargin: 20 }
)

If the library cannot fit the specified range within the canvas, which may happen on small screens, it will ignore the from parameter. For more information, refer to the Time scale article.


setZoomEnabled​

setZoomEnabled(enabled): void

Enable or disable zooming of the chart.

Parameters​

NameTypeDescription
enabledbooleantrue to enable zooming, false to disable.

Returns​

void

widget.activeChart().setZoomEnabled(false);

shapesGroupController​

shapesGroupController(): IShapesGroupControllerApi

Get an API object for interacting with groups of drawings. Refer to the Drawings API article for more information.

Returns​

IShapesGroupControllerApi

widget.activeChart().shapesGroupController().createGroupFromSelection();

showPropertiesDialog​

showPropertiesDialog(studyId): void

Show the properties dialog for a study or drawing.

Parameters​

NameTypeDescription
studyIdEntityIdAn ID of the study or drawing.

Returns​

void

const chart = widget.activeChart();
chart.showPropertiesDialog(chart.getAllShapes()[0].id);`

symbol​

symbol(): string

Get the name of the current symbol.

Returns​

string

console.log(widget.activeChart().symbol());

symbolExt​

symbolExt(): SymbolExt

Get an extended information object for the current symbol.

Returns​

SymbolExt

console.log(widget.activeChart().symbolExt().name);

zoomOut​

zoomOut(): void

Zoom out. The method has the same effect as clicking on the "zoom out" button.