// Generated by dts-bundle-generator v5.3.0 declare const dateFormatFunctions: { "dd MMM 'yy": (date: Date, local: boolean) => string; "MMM dd, yyyy": (date: Date, local: boolean) => string; "MMM dd": (date: Date, local: boolean) => string; "yyyy-MM-dd": (date: Date, local: boolean) => string; "yy-MM-dd": (date: Date, local: boolean) => string; "yy/MM/dd": (date: Date, local: boolean) => string; "yyyy/MM/dd": (date: Date, local: boolean) => string; "dd-MM-yyyy": (date: Date, local: boolean) => string; "dd-MM-yy": (date: Date, local: boolean) => string; "dd/MM/yy": (date: Date, local: boolean) => string; "dd/MM/yyyy": (date: Date, local: boolean) => string; "MM/dd/yy": (date: Date, local: boolean) => string; "MM/dd/yyyy": (date: Date, local: boolean) => string; }; declare enum OrderOrPositionMessageType { Information = "information", Warning = "warning", Error = "error" } declare enum StopType { StopLoss = 0, TrailingStop = 1 } export declare const enum ActionId { ChartAddIndicatorToAllCharts = "Chart.AddIndicatorToAllCharts", ChartAddSymbolToWatchList = "Chart.AddSymbolToWatchList", ChartApplyIndicatorsToAllCharts = "Chart.ApplyIndicatorsToAllCharts", ChartChangeTimeZone = "Chart.ChangeTimeZone", ChartClipboardCopyLineTools = "Chart.Clipboard.CopyLineTools", ChartClipboardCopySource = "Chart.Clipboard.CopySource", ChartClipboardPasteSource = "Chart.Clipboard.PasteSource", ChartCrosshairLockVerticalCursor = "Chart.Crosshair.LockVerticalCursor", ChartCrosshairPlusButtonDrawHorizontalLine = "Chart.Crosshair.PlusButton.DrawHorizontalLine", ChartCustomActionId = "Chart.CustomActionId", ChartDialogsShowChangeInterval = "Chart.Dialogs.ShowChangeInterval", ChartDialogsShowChangeSymbol = "Chart.Dialogs.ShowChangeSymbol", ChartDialogsShowCompareOrAddSymbol = "Chart.Dialogs.ShowCompareOrAddSymbol", ChartDialogsShowGeneralSettings = "Chart.Dialogs.ShowGeneralSettings", ChartDialogsShowGeneralSettingsLegendTab = "Chart.Dialogs.ShowGeneralSettings.LegendTab", ChartDialogsShowGeneralSettingsScalesTab = "Chart.Dialogs.ShowGeneralSettings.ScalesTab", ChartDialogsShowGeneralSettingsSymbolTab = "Chart.Dialogs.ShowGeneralSettings.SymbolTab", ChartDialogsShowGoToDate = "Chart.Dialogs.ShowGoToDate", ChartDialogsShowInsertIndicators = "Chart.Dialogs.ShowInsertIndicators", ChartDialogsShowSymbolInfo = "Chart.Dialogs.ShowSymbolInfo", ChartDrawingToolbarToggleVisibility = "Chart.DrawingToolbar.ToggleVisibility", ChartExternalActionId = "Chart.ExternalActionId", ChartFavoriteDrawingToolsToolbarHide = "Chart.FavoriteDrawingToolsToolbar.Hide", ChartIndicatorShowSettingsDialog = "Chart.Indicator.ShowSettingsDialog", ChartLegendToggleBarChangeValuesVisibility = "Chart.Legend.ToggleBarChangeValuesVisibility", ChartLegendToggleIndicatorArgumentsVisibility = "Chart.Legend.ToggleIndicatorArgumentsVisibility", ChartLegendToggleIndicatorTitlesVisibility = "Chart.Legend.ToggleIndicatorTitlesVisibility", ChartLegendToggleIndicatorValuesVisibility = "Chart.Legend.ToggleIndicatorValuesVisibility", ChartLegendToggleOhlcValuesVisibility = "Chart.Legend.ToggleOhlcValuesVisibility", ChartLegendToggleOpenMarketStatusVisibility = "Chart.Legend.ToggleOpenMarketStatusVisibility", ChartLegendToggleSymbolVisibility = "Chart.Legend.ToggleSymbolVisibility", ChartLegendToggleVolumeVisibility = "Chart.Legend.ToggleVolumeVisibility", ChartLines = "Chart.Lines", ChartLinesToggleBidAskLinesVisibility = "Chart.Lines.ToggleBidAskLinesVisibility", ChartLinesToggleHighLowLinesVisibility = "Chart.Lines.ToggleHighLowLinesVisibility", ChartLinesToggleSeriesPrevCloseLineVisibility = "Chart.Lines.ToggleSeriesPrevCloseLineVisibility", ChartLinesToggleSeriesPriceLineVisibility = "Chart.Lines.ToggleSeriesPriceLineVisibility", ChartLineToolBarsPatternToggleFlipped = "Chart.LineTool.BarsPattern.ToggleFlipped", ChartLineToolBarsPatternToggleMirrored = "Chart.LineTool.BarsPattern.ToggleMirrored", ChartLineToolClone = "Chart.LineTool.Clone", ChartLineToolCreateLimitOrderFromState = "Chart.LineTool.CreateLimitOrderFromState", ChartLineToolElliotChangeDegreeProperty = "Chart.LineTool.Elliot.ChangeDegreeProperty", ChartLineToolNoSync = "Chart.LineTool.NoSync", ChartLineToolPitchforkChangeTypeToInside = "Chart.LineTool.Pitchfork.ChangeTypeToInside", ChartLineToolPitchforkChangeTypeToModifiedSchiff = "Chart.LineTool.Pitchfork.ChangeTypeToModifiedSchiff", ChartLineToolPitchforkChangeTypeToOriginal = "Chart.LineTool.Pitchfork.ChangeTypeToOriginal", ChartLineToolPitchforkChangeTypeToSchiff = "Chart.LineTool.Pitchfork.ChangeTypeToSchiff", ChartLineToolSyncInLayout = "Chart.LineTool.SyncInLayout", ChartLineToolTemplates = "Chart.LineTool.Templates", ChartLineToolTemplatesApply = "Chart.LineTool.Templates.Apply", ChartLineToolTemplatesApplyDefaults = "Chart.LineTool.Templates.ApplyDefaults", ChartLineToolTemplatesSaveAs = "Chart.LineTool.Templates.SaveAs", ChartLineToolToolbarChangeFontSizeProperty = "Chart.LineTool.Toolbar.ChangeFontSizeProperty", ChartLineToolToolbarChangeLineStyleToDashed = "Chart.LineTool.Toolbar.ChangeLineStyleToDashed", ChartLineToolToolbarChangeLineStyleToDotted = "Chart.LineTool.Toolbar.ChangeLineStyleToDotted", ChartLineToolToolbarChangeLineStyleToSolid = "Chart.LineTool.Toolbar.ChangeLineStyleToSolid", ChartMarksToggleVisibility = "Chart.Marks.ToggleVisibility", ChartMoveChartInLayout = "Chart.MoveChartInLayout", ChartMoveChartInLayoutBack = "Chart.MoveChartInLayout.Back", ChartMoveChartInLayoutForward = "Chart.MoveChartInLayout.Forward", ChartObjectTreeShow = "Chart.ObjectTree.Show", ChartPaneControlsDeletePane = "Chart.PaneControls.DeletePane", ChartPaneControlsMaximizePane = "Chart.PaneControls.MaximizePane", ChartPaneControlsMinimizePane = "Chart.PaneControls.MinimizePane", ChartPaneControlsMovePaneDown = "Chart.PaneControls.MovePaneDown", ChartPaneControlsMovePaneUp = "Chart.PaneControls.MovePaneUp", ChartPriceScaleLabels = "Chart.PriceScale.Labels", ChartPriceScaleLabelsToggleBidAskLabelsVisibility = "Chart.PriceScale.Labels.ToggleBidAskLabelsVisibility", ChartPriceScaleLabelsToggleHighLowPriceLabelsVisibility = "Chart.PriceScale.Labels.ToggleHighLowPriceLabelsVisibility", ChartPriceScaleLabelsToggleIndicatorsNameLabelsVisibility = "Chart.PriceScale.Labels.ToggleIndicatorsNameLabelsVisibility", ChartPriceScaleLabelsToggleIndicatorsValueLabelsVisibility = "Chart.PriceScale.Labels.ToggleIndicatorsValueLabelsVisibility", ChartPriceScaleLabelsToggleNoOverlappingLabelsVisibility = "Chart.PriceScale.Labels.ToggleNoOverlappingLabelsVisibility", ChartPriceScaleLabelsToggleSeriesLastValueVisibility = "Chart.PriceScale.Labels.ToggleSeriesLastValueVisibility", ChartPriceScaleLabelsToggleSymbolNameLabelsVisibility = "Chart.PriceScale.Labels.ToggleSymbolNameLabelsVisibility", ChartPriceScaleLabelsToggleSymbolPrevCloseValueVisibility = "Chart.PriceScale.Labels.ToggleSymbolPrevCloseValueVisibility", ChartPriceScaleMergeAllScales = "Chart.PriceScale.MergeAllScales", ChartPriceScaleMergeAllScalesToLeft = "Chart.PriceScale.MergeAllScalesToLeft", ChartPriceScaleMergeAllScalesToRight = "Chart.PriceScale.MergeAllScalesToRight", ChartPriceScaleMoveToLeft = "Chart.PriceScale.MoveToLeft", ChartPriceScaleMoveToRight = "Chart.PriceScale.MoveToRight", ChartPriceScaleReset = "Chart.PriceScale.Reset", ChartPriceScaleToggleAddOrderPlusButtonVisibility = "Chart.PriceScale.ToggleAddOrderPlusButtonVisibility", ChartPriceScaleToggleAutoScale = "Chart.PriceScale.ToggleAutoScale", ChartPriceScaleToggleAutoScaleSeriesOnly = "Chart.PriceScale.ToggleAutoScaleSeriesOnly", ChartPriceScaleToggleCountdownToBarCloseVisibility = "Chart.PriceScale.ToggleCountdownToBarCloseVisibility", ChartPriceScaleToggleCurrencyVisibility = "Chart.PriceScale.ToggleCurrencyVisibility", ChartPriceScaleToggleIndexedTo100 = "Chart.PriceScale.ToggleIndexedTo100", ChartPriceScaleToggleInvertScale = "Chart.PriceScale.ToggleInvertScale", ChartPriceScaleToggleLogarithmic = "Chart.PriceScale.ToggleLogarithmic", ChartPriceScaleTogglePercentage = "Chart.PriceScale.TogglePercentage", ChartPriceScaleToggleRegular = "Chart.PriceScale.ToggleRegular", ChartPriceScaleToggleUnitVisibility = "Chart.PriceScale.ToggleUnitVisibility", ChartRedo = "Chart.Redo", ChartRemoveAllIndicators = "Chart.RemoveAllIndicators", ChartRemoveAllIndicatorsAndLineTools = "Chart.RemoveAllIndicatorsAndLineTools", ChartRemoveAllLineTools = "Chart.RemoveAllLineTools", ChartScalesReset = "Chart.Scales.Reset", ChartScalesToggleLockPriceToBarRatio = "Chart.Scales.ToggleLockPriceToBarRatio", ChartScrollToLineTool = "Chart.ScrollToLineTool", ChartSelectedObjectHide = "Chart.SelectedObject.Hide", ChartSelectedObjectRemove = "Chart.SelectedObject.Remove", ChartSelectedObjectShow = "Chart.SelectedObject.Show", ChartSelectedObjectShowSettingsDialog = "Chart.SelectedObject.ShowSettingsDialog", ChartSelectedObjectToggleLocked = "Chart.SelectedObject.ToggleLocked", ChartSeriesPriceScaleToggleAutoScale = "Chart.Series.PriceScale.ToggleAutoScale", ChartSeriesPriceScaleToggleIndexedTo100 = "Chart.Series.PriceScale.ToggleIndexedTo100", ChartSeriesPriceScaleToggleInvertPriceScale = "Chart.Series.PriceScale.ToggleInvertPriceScale", ChartSeriesPriceScaleToggleLogarithmic = "Chart.Series.PriceScale.ToggleLogarithmic", ChartSeriesPriceScaleTogglePercentage = "Chart.Series.PriceScale.TogglePercentage", ChartSeriesPriceScaleToggleRegular = "Chart.Series.PriceScale.ToggleRegular", ChartSessionBreaksToggleVisibility = "Chart.SessionBreaks.ToggleVisibility", ChartSourceChangePriceScale = "Chart.Source.ChangePriceScale", ChartSourceMergeDown = "Chart.Source.MergeDown", ChartSourceMergeUp = "Chart.Source.MergeUp", ChartSourceMoveToNoScale = "Chart.Source.MoveToNoScale", ChartSourceMoveToOtherScale = "Chart.Source.MoveToOtherScale", ChartSourceMoveToPane = "Chart.Source.MoveToPane", ChartSourceUnmergeDown = "Chart.Source.UnmergeDown", ChartSourceUnmergeUp = "Chart.Source.UnmergeUp", ChartSourceVisualOrder = "Chart.Source.VisualOrder", ChartSourceVisualOrderBringForward = "Chart.Source.VisualOrder.BringForward", ChartSourceVisualOrderBringToFront = "Chart.Source.VisualOrder.BringToFront", ChartSourceVisualOrderSendBackward = "Chart.Source.VisualOrder.SendBackward", ChartSourceVisualOrderSendToBack = "Chart.Source.VisualOrder.SendToBack", ChartTimeScaleReset = "Chart.TimeScale.Reset", ChartUndo = "Chart.Undo", ObjectsTreeCreateGroup = "ObjectsTree.CreateGroup", ObjectsTreeRemoveItem = "ObjectsTree.RemoveItem", ObjectsTreeRenameItem = "ObjectsTree.RenameItem", ObjectsTreeToggleItemLocked = "ObjectsTree.ToggleItemLocked", ObjectsTreeToggleItemVisibility = "ObjectsTree.ToggleItemVisibility", TradingCancelOrder = "Trading.CancelOrder", TradingClosePosition = "Trading.ClosePosition", TradingCustomActionId = "Trading.CustomActionId", TradingDomePlaceLimitOrder = "Trading.DomePlaceLimitOrder", TradingDomePlaceMarketOrder = "Trading.DomePlaceMarketOrder", TradingDomePlaceStopLimitOrder = "Trading.DomePlaceStopLimitOrder", TradingDomePlaceStopOrder = "Trading.DomePlaceStopOrder", TradingEditOrder = "Trading.EditOrder", TradingModifyPosition = "Trading.ModifyPosition", TradingReversePosition = "Trading.ReversePosition", TradingSellBuyButtonsToggleVisibility = "Trading.SellBuyButtonsToggleVisibility", TradingTradeFromChart = "Trading.TradeFromChart" } export declare const enum ChartStyle { Bar = 0, Candle = 1, Line = 2, Area = 3, Renko = 4, Kagi = 5, PnF = 6, LineBreak = 7, HeikinAshi = 8, HollowCandle = 9, Baseline = 10, HiLo = 12 } export declare const enum ConnectionStatus { Connected = 1, Connecting = 2, Disconnected = 3, Error = 4 } export declare const enum MenuItemType { Separator = "separator", Action = "action" } export declare const enum NotificationType { Error = 0, Success = 1 } export declare const enum OrderStatus { Canceled = 1, Filled = 2, Inactive = 3, Placing = 4, Rejected = 5, Working = 6 } export declare const enum OrderStatusFilter { All = 0, Canceled = 1, Filled = 2, Inactive = 3, Rejected = 5, Working = 6 } export declare const enum OrderTicketFocusControl { LimitPrice = 1, StopPrice = 2, TakeProfit = 3, StopLoss = 4, Quantity = 5 } export declare const enum OrderType { Limit = 1, Market = 2, Stop = 3, StopLimit = 4 } export declare const enum ParentType { Order = 1, Position = 2, Trade = 3 } export declare const enum PriceScaleMode { Normal = 0, Log = 1, Percentage = 2, IndexedTo100 = 3 } export declare const enum SeriesStyle { Bars = 0, Candles = 1, Line = 2, Area = 3, HeikenAshi = 8, HollowCandles = 9, Baseline = 10, HiLo = 12, Renko = 4, Kagi = 5, PointAndFigure = 6, LineBreak = 7 } export declare const enum Side { Buy = 1, Sell = -1 } export declare const enum StandardFormatterName { Date = "date", DateOrDateTime = "dateOrDateTime", Default = "default", Fixed = "fixed", VariablePrecision = "variablePrecision", FormatQuantity = "formatQuantity", FormatPrice = "formatPrice", FormatPriceForexSup = "formatPriceForexSup", IntegerSeparated = "integerSeparated", LocalDate = "localDate", LocalDateOrDateTime = "localDateOrDateTime", OrderSettings = "orderSettings", Percentage = "percentage", Pips = "pips", Profit = "profit", ProfitInInstrumentCurrency = "profitInInstrumentCurrency", PosSettings = "posSettings", Side = "side", PositionSide = "positionSide", Status = "status", Symbol = "symbol", Text = "text", TextNoWrap = "textNoWrap", TradeSettings = "tradeSettings", Type = "type", MarginPercent = "marginPercent" } export declare const enum TimeFrameType { PeriodBack = "period-back", TimeRange = "time-range" } export declare const enum VisibilityType { AlwaysOn = "alwaysOn", VisibleOnMouseOver = "visibleOnMouseOver", AlwaysOff = "alwaysOff" } export declare const widget: ChartingLibraryWidgetConstructor; export declare function version(): string; export declare type AccountId = Nominal; export declare type ActionMetaInfo = ActionDescriptionWithCallback | MenuSeparator; export declare type AvailableSaveloadVersions = "1.0" | "1.1"; export declare type CellAlignment = "left" | "right"; export declare type ChartActionId = "chartProperties" | "compareOrAdd" | "scalesProperties" | "paneObjectTree" | "insertIndicator" | "symbolSearch" | "changeInterval" | "timeScaleReset" | "chartReset" | "seriesHide" | "studyHide" | "lineToggleLock" | "lineHide" | "scaleSeriesOnly" | "drawingToolbarAction" | "stayInDrawingModeAction" | "hideAllMarks" | "showCountdown" | "showSeriesLastValue" | "showSymbolLabelsAction" | "showStudyLastValue" | "showStudyPlotNamesAction" | "undo" | "redo" | "paneRemoveAllStudiesDrawingTools" | "showSymbolInfoDialog"; export declare type ContextMenuItemsProcessor = (items: readonly IActionVariant[], actionsFactory: ActionsFactory) => Promise; export declare type ContextMenuRendererFactory = (items: readonly IActionVariant[], params: CreateContextMenuParams, onDestroy: () => void) => Promise; export declare type CustomTranslateFunction = (key: string, options?: TranslateOptions) => string | null; export declare type DateFormat = keyof typeof dateFormatFunctions; export declare type Direction = "buy" | "sell"; export declare type DomeCallback = (data: DOMData) => void; export declare type DrawingEventType = "click" | "move" | "remove" | "hide" | "show" | "create"; export declare type DropdownUpdateParams = Partial>; export declare type EditObjectDialogObjectType = "mainSeries" | "drawing" | "study" | "other"; export declare type EmptyCallback = () => void; export declare type EntityId = Nominal; export declare type ErrorCallback = (reason: string) => void; export declare type FieldDescriptor = TimeFieldDescriptor | UserTimeFieldDescriptor | SeriesFieldDescriptor | StudyFieldDescriptor; export declare type GetMarksCallback = (marks: T[]) => void; export declare type GetNewsFunction = (symbol: string, callback: (response: GetNewsResponse) => void) => void; export declare type GroupLockState = "Locked" | "Unlocked" | "Partial"; export declare type GroupVisibilityState = "Visible" | "Invisible" | "Partial"; export declare type HeaderWidgetButtonsMode = "fullsize" | "compact" | "adaptive"; export declare type HistoryCallback = (bars: Bar[], meta?: HistoryMetadata) => void; export declare type IActionVariant = IAction | ISeparator; export declare type IBasicDataFeed = IDatafeedChartApi & IExternalDatafeed; export declare type INumberFormatter = IFormatter; export declare type InputFieldValidator = (value: any) => InputFieldValidatorResult; export declare type InputFieldValidatorResult = PositiveBaseInputFieldValidatorResult | NegativeBaseInputFieldValidatorResult; export declare type LanguageCode = "ar" | "zh" | "cs" | "da_DK" | "nl_NL" | "en" | "et_EE" | "fr" | "de" | "el" | "he_IL" | "hu_HU" | "id_ID" | "it" | "ja" | "ko" | "fa" | "pl" | "pt" | "ro" | "ru" | "sk_SK" | "es" | "sv" | "th" | "tr" | "vi" | "no" | "ms_MY" | "zh_TW"; export declare type LayoutType = SingleChartLayoutType | MultipleChartsLayoutType; export declare type LegendMode = "horizontal" | "vertical"; export declare type MarkConstColors = "red" | "green" | "blue" | "yellow"; export declare type MultipleChartsLayoutType = "2h" | "2v" | "2-1" | "3s" | "3h" | "3v" | "4" | "6" | "8" | "1-2" | "3r" | "4h" | "4v" | "4s" | "1-3" | "2-2" | "1-4" | "5s" | "6c" | "8c"; /** * This is the generic type useful for declaring a nominal type, * which does not structurally matches with the base type and * the other types declared over the same base type * * Usage: * @example * type Index = Nominal; * // let i: Index = 42; // this fails to compile * let i: Index = 42 as Index; // OK * @example * type TagName = Nominal; */ export declare type Nominal = T & { [Symbol.species]: Name; }; export declare type OnActionExecuteHandler = (action: IAction) => void; export declare type OnActionUpdateHandler = (action: IAction) => void; export declare type OnReadyCallback = (configuration: DatafeedConfiguration) => void; export declare type Order = PlacedOrder | BracketOrder; export declare type PageName = "watchlist_details_news" | "data_window" | "object_tree"; export declare type PineJS = any; export declare type QuoteData = QuoteOkData | QuoteErrorData; export declare type QuotesCallback = (data: QuoteData[]) => void; export declare type ResolutionString = Nominal; export declare type ResolveCallback = (symbolInfo: LibrarySymbolInfo) => void; export declare type RssNewsFeedItem = RssNewsFeedInfo | RssNewsFeedInfo[]; export declare type SearchSymbolsCallback = (items: SearchSymbolResultItem[]) => void; export declare type SeriesEventType = "price_scale_changed"; export declare type SeriesFormat = "price" | "volume"; export declare type SeriesPriceScale = "new-left" | "new-right" | "no-scale" | EntityId; export declare type ServerTimeCallback = (serverTime: number) => void; export declare type SetVisibleTimeRange = Omit & Partial>; export declare type ShapePoint = StickedPoint | PricedPoint | TimePoint; export declare type ShapesGroupId = Nominal; export declare type SingleChartLayoutType = "s"; export declare type StudyEventType = "remove" | "price_scale_changed"; export declare type StudyInputId = Nominal; export declare type StudyInputValue = string | number | boolean; export declare type StudyOverrideValueType = string | number | boolean; export declare type StudyPriceScale = "new-left" | "new-right" | "no-scale" | "as-series"; export declare type SubscribeBarsCallback = (bar: Bar) => void; export declare type SupportedLineTools = "text" | "anchored_text" | "note" | "anchored_note" | "signpost" | "double_curve" | "arc" | "icon" | "arrow_up" | "arrow_down" | "arrow_left" | "arrow_right" | "price_label" | "price_note" | "arrow_marker" | "flag" | "vertical_line" | "horizontal_line" | "cross_line" | "horizontal_ray" | "trend_line" | "info_line" | "trend_angle" | "arrow" | "ray" | "extended" | "parallel_channel" | "disjoint_angle" | "flat_bottom" | "pitchfork" | "schiff_pitchfork_modified" | "schiff_pitchfork" | "balloon" | "inside_pitchfork" | "pitchfan" | "gannbox" | "gannbox_square" | "gannbox_fixed" | "gannbox_fan" | "fib_retracement" | "fib_trend_ext" | "fib_speed_resist_fan" | "fib_timezone" | "fib_trend_time" | "fib_circles" | "fib_spiral" | "fib_speed_resist_arcs" | "fib_channel" | "xabcd_pattern" | "cypher_pattern" | "abcd_pattern" | "callout" | "triangle_pattern" | "3divers_pattern" | "head_and_shoulders" | "fib_wedge" | "elliott_impulse_wave" | "elliott_triangle_wave" | "elliott_triple_combo" | "elliott_correction" | "elliott_double_combo" | "cyclic_lines" | "time_cycles" | "sine_line" | "long_position" | "short_position" | "forecast" | "date_range" | "price_range" | "date_and_price_range" | "bars_pattern" | "ghost_feed" | "projection" | "rectangle" | "rotated_rectangle" | "circle" | "ellipse" | "triangle" | "polyline" | "path" | "curve" | "cursor" | "dot" | "arrow_cursor" | "eraser" | "measure" | "zoom" | "brush" | "highlighter" | "regression_trend" | "fixed_range_volume_profile"; export declare type SymbolSearchCompleteOverrideFunction = (symbol: string) => Promise; export declare type SymbolType = "stock" | "index" | "forex" | "futures" | "bitcoin" | "crypto" | "undefined" | "expression" | "spread" | "cfd" | "economic" | "equity" | "dr" | "bond" | "right" | "warrant" | "fund" | "structured"; export declare type TextInputFieldValidator = (value: string) => InputFieldValidatorResult; export declare type ThemeName = "Light" | "Dark"; export declare type TickMarkType = /** * The start of the year (e.g. it's the first tick mark in a year). */ "Year" /** * The start of the month (e.g. it's the first tick mark in a month). */ | "Month" /** * A day of the month. */ | "DayOfMonth" /** * A time without seconds. */ | "Time" /** * A time with seconds. */ | "TimeWithSeconds"; export declare type TimeFrameValue = TimeFramePeriodBack | TimeFrameTimeRange; export declare type Timezone = "Etc/UTC" | CustomTimezones; export declare type TimezoneId = CustomTimezones | "Etc/UTC" | "exchange"; export declare type TradableSolutions = ChangeAccountSolution | ChangeSymbolSolution; export declare type TradingDialogCustomField = CheckboxFieldMetaInfo | TextWithCheckboxFieldMetaInfo | CustomComboBoxMetaInfo; export declare type VisiblePlotsSet = "ohlcv" | "ohlc" | "c"; export declare type WatchListSymbolListAddedCallback = (listId: string, symbols: string[]) => void; export declare type WatchListSymbolListChangedCallback = (listId: string) => void; export declare type WatchListSymbolListRemovedCallback = (listId: string) => void; export declare type WatchListSymbolListRenamedCallback = (listId: string, oldName: string, newName: string) => void; export declare type WatchedValueCallback = (value: T) => void; export interface AccessList { type: "black" | "white"; tools: AccessListItem[]; } export interface AccessListItem { name: string; grayed?: boolean; } export interface AccountManagerColumn { label: string; alignment?: CellAlignment; formatter?: StandardFormatterName | "orderSettings" | "posSettings" | string; property: string; sortProp?: string; notSortable?: boolean; help?: string; highlightDiff?: boolean; notHideable?: boolean; hideByDefault?: boolean; tooltipProperty?: string; isCapitalize?: boolean; showZeroValues?: boolean; } export interface AccountManagerInfo { accountTitle: string; summary: AccountManagerSummaryField[]; orderColumns: OrderTableColumn[]; orderColumnsSorting?: SortingParameters; historyColumns?: AccountManagerColumn[]; historyColumnsSorting?: SortingParameters; positionColumns?: AccountManagerColumn[]; tradeColumns?: AccountManagerColumn[]; pages: AccountManagerPage[]; possibleOrderStatuses?: OrderStatus[]; marginUsed?: IWatchedValue; contextMenuActions?(contextMenuEvent: MouseEvent | TouchEvent, activePageActions: ActionMetaInfo[]): Promise; } export interface AccountManagerPage { id: string; title: string; tables: AccountManagerTable[]; } export interface AccountManagerSummaryField { text: string; wValue: IWatchedValueReadonly; formatter?: string; } export interface AccountManagerTable { id: string; title?: string; columns: AccountManagerColumn[]; initialSorting?: SortingParameters; changeDelegate: ISubscription<(data: {}) => void>; flags?: AccountManagerTableFlags; getData(paginationLastId?: string | number): Promise<{}[]>; } export interface AccountManagerTableFlags { supportPagination?: boolean; } export interface ActionDescription { text?: "-" | string; separator?: boolean; shortcut?: string; tooltip?: string; checked?: boolean; checkedStateSource?: () => boolean; checkable?: boolean; enabled?: boolean; externalLink?: boolean; icon?: string; } export interface ActionDescriptionWithCallback extends ActionDescription { action: (a?: ActionDescription) => void; } export interface ActionOptions extends Partial>, Pick { /** * A function which will be called when an action should be executed (e.g. when a user clicks on the item). */ onExecute?: OnActionExecuteHandler; } export interface ActionState { /** * Human-readable, non-unique ID of an action item. Similar to {@link label}, but language-agnostic. */ actionId: ActionId; active: boolean; /** * Text title of an action */ label: string; /** * Whether an action is disabled or not (disabled actions are usually cannot be executed and displayed grayed out) */ disabled: boolean; /** * Sub-items of an action */ subItems: IActionVariant[]; /** * Whether an action should have a checkbox next to it. */ checkable: boolean; /** * If {@link checkable} is `true` then whether current state is checked or not. */ checked: boolean; /** * A hint of an action. */ hint?: string; /** * A string of SVG icon for an action. A string should be a string representation of SVG (not a path/URL). */ icon?: string; /** * If {@link checkable} is `true` then an icon to be used when {@link checked} is `true`. */ iconChecked?: string; /** * Whether an action is still in loading state (it means that it's data is not ready yet). * Usually in this case a spinner/loader will be displayed instead of this action. */ loading: boolean; /** * A string that represents a shortcut hint for this action. */ shortcutHint?: string; } export interface ActionsFactory { /** * Creates an action with provided options. */ createAction: (options: ActionOptions) => IUpdatableAction; /** * Creates an action that will wait for a promise to get its options. * In terms of GUI until a promise is resolved the loader/spinner will be displayed. */ createAsyncAction: (loader: () => Promise) => IUpdatableAction; /** * Creates a separator item. */ createSeparator: () => ISeparator; } export interface AdditionalSymbolInfoField { title: string; propertyName: string; } export interface AreaStylePreferences { color1: string; color2: string; linecolor: string; linestyle: number; linewidth: number; transparency: number; } export interface AvailableZOrderOperations { bringForwardEnabled: boolean; bringToFrontEnabled: boolean; sendBackwardEnabled: boolean; sendToBackEnabled: boolean; } export interface Bar { time: number; open: number; high: number; low: number; close: number; volume?: number; } export interface BarStylePreferences { upColor: string; downColor: string; barColorsOnPrevClose: boolean; dontDrawOpen: boolean; thinBars: boolean; } export interface BaseInputFieldValidatorResult { valid: boolean; } export interface BaselineStylePreferences { topFillColor1: string; topFillColor2: string; bottomFillColor1: string; bottomFillColor2: string; topLineColor: string; bottomLineColor: string; baselineColor: string; topLineWidth: number; bottomLineWidth: number; transparency: number; baseLevelPercentage: number; } export interface BracketOrder extends PlacedOrder { parentId: string; parentType: ParentType; } export interface Brackets { stopLoss?: number; takeProfit?: number; trailingStopPips?: number; } export interface BrokerConfigFlags { supportDisplayBrokerNameInSymbolSearch?: boolean; showQuantityInsteadOfAmount?: boolean; supportOrderBrackets?: boolean; supportTrailingStop?: boolean; supportPositions?: boolean; supportPositionBrackets?: boolean; supportTradeBrackets?: boolean; supportTrades?: boolean; supportClosePosition?: boolean; supportCloseTrade?: boolean; supportModifyOrderPrice?: boolean; supportEditAmount?: boolean; supportModifyBrackets?: boolean; supportLevel2Data?: boolean; supportDOM?: boolean; supportMultiposition?: boolean; supportPLUpdate?: boolean; supportReversePosition?: boolean; supportNativeReversePosition?: boolean; supportMarketOrders?: boolean; supportLimitOrders?: boolean; supportStopOrders?: boolean; supportStopLimitOrders?: boolean; supportDemoLiveSwitcher?: boolean; supportMarketBrackets?: boolean; supportSymbolSearch?: boolean; supportModifyDuration?: boolean; supportModifyTrailingStop?: boolean; supportMargin?: boolean; calculatePLUsingLast?: boolean; supportPlaceOrderPreview?: boolean; supportModifyOrderPreview?: boolean; supportLeverage?: boolean; supportOrdersHistory?: boolean; supportAddBracketsToExistingOrder?: boolean; supportBalances?: boolean; closePositionCancelsOrders?: boolean; supportOnlyPairPositionBrackets?: boolean; supportCryptoExchangeOrderTicket?: boolean; supportConfirmations?: boolean; /** Does broker need to display position's PL in instrument's currency */ positionPLInInstrumentCurrency?: boolean; /** Does broker support partial position closing */ supportPartialClosePosition?: boolean; /** Does broker support partial trade closing */ supportPartialCloseTrade?: boolean; /** Cancelling a bracket cancels it's oco pair */ supportCancellingBothBracketsOnly?: boolean; /** Does broker support crypto brackets */ supportCryptoBrackets?: boolean; /** Does broker need to show notifications log */ showNotificationsLog?: boolean; /** * Whether stop orders should behave like Market-if-touched in both directions. * Enabling this flag removes the direction check from the order dialog. */ supportStopOrdersInBothDirections?: boolean; /** Does broker support executions */ supportExecutions?: boolean; requiresFIFOCloseTrades?: boolean; /** * @deprecated */ supportBrackets?: boolean; /** * Use supportModifyOrderPrice, supportEditAmount and supportModifyBrackets instead. * @deprecated */ supportModifyOrder?: boolean; } export interface BrokerCustomUI { showOrderDialog?: (order: OrderTemplate | Order, focus?: OrderTicketFocusControl) => Promise; showPositionDialog?: (position: Position | Trade, brackets: Brackets, focus?: OrderTicketFocusControl) => Promise; showCancelOrderDialog?: (order: Order) => Promise; showClosePositionDialog?: (position: Position) => Promise; } export interface CandleStylePreferences { upColor: string; downColor: string; drawWick: boolean; drawBorder: boolean; drawBody: boolean; borderColor: string; borderUpColor: string; borderDownColor: string; wickColor: string; wickUpColor: string; wickDownColor: string; barColorsOnPrevClose: boolean; } export interface ChangeAccountSolution { changeAccount: AccountId; } export interface ChangeSymbolSolution { changeSymbol: string; } export interface ChangeThemeOptions { disableUndo: boolean; } export interface ChartData { id: string; name: string; symbol: string; resolution: ResolutionString; content: string; } export interface ChartMetaInfo { id: number; name: string; symbol: string; resolution: ResolutionString; timestamp: number; } export interface ChartingLibraryWidgetConstructor { new (options: ChartingLibraryWidgetOptions | TradingTerminalWidgetOptions): IChartingLibraryWidget; } export interface ChartingLibraryWidgetOptions { /** @deprecated */ container_id?: string; container: HTMLElement | string; datafeed: IBasicDataFeed | (IBasicDataFeed & IDatafeedQuotesApi); interval: ResolutionString; symbol?: string; auto_save_delay?: number; autosize?: boolean; debug?: boolean; disabled_features?: string[]; drawings_access?: AccessList; enabled_features?: string[]; fullscreen?: boolean; height?: number; library_path?: string; locale: LanguageCode; numeric_formatting?: NumericFormattingParams; saved_data?: object; saved_data_meta_info?: SavedStateMetaInfo; studies_access?: AccessList; study_count_limit?: number; symbol_search_request_delay?: number; timeframe?: string; timezone?: "exchange" | Timezone; toolbar_bg?: string; width?: number; charts_storage_url?: string; charts_storage_api_version?: AvailableSaveloadVersions; client_id?: string; user_id?: string; load_last_chart?: boolean; studies_overrides?: StudyOverrides; customFormatters?: CustomFormatters; custom_formatters?: CustomFormatters; overrides?: Overrides; snapshot_url?: string; preset?: "mobile"; time_frames?: TimeFrameItem[]; custom_css_url?: string; custom_font_family?: string; favorites?: Favorites; save_load_adapter?: IExternalSaveLoadAdapter; loading_screen?: LoadingScreenOptions; settings_adapter?: ISettingsAdapter; theme?: ThemeName; compare_symbols?: CompareSymbol[]; custom_indicators_getter?: (PineJS: PineJS) => Promise; additional_symbol_info_fields?: AdditionalSymbolInfoField[]; header_widget_buttons_mode?: HeaderWidgetButtonsMode; context_menu?: ContextMenuOptions; time_scale?: TimeScaleOptions; custom_translate_function?: CustomTranslateFunction; symbol_search_complete?: SymbolSearchCompleteOverrideFunction; settings_overrides?: Overrides; } export interface CheckboxFieldMetaInfo extends CustomFieldMetaInfoBase { inputType: "Checkbox"; value: boolean; supportModify?: boolean; help?: string; } export interface ClientSnapshotOptions { backgroundColor: string; borderColor: string; font: string; fontSize: number; legendMode: LegendMode; hideResolution: boolean; } export interface CompareSymbol { symbol: string; title: string; } export interface ContextMenuItem { position: "top" | "bottom"; text: string; click: EmptyCallback; } export interface ContextMenuOptions { items_processor?: ContextMenuItemsProcessor; /** * This API is experimental and might be changed significantly in the future releases. */ renderer_factory?: ContextMenuRendererFactory; } export interface ContextMenuPosition { clientX: number; clientY: number; touches?: readonly { clientX: number; clientY: number; }[]; /** * Tells what side of the context menu widget should be used to "attach" to a provided x coordinate. * If the value is `undefined`, then you may treat it based on whether it is rtl or not (e.g. `'right'` for rtl and `'left'` otherwise). */ attachToXBy?: "left" | "right"; /** * Tells what side of the context menu widget should be used to "attach" to a provided y coordinate: * - `'auto'` means similar to `'top'` but the menu could be expanded above the coordinate if needed (if there is no enough space to place it below) * - `'auto-strict'` means `'top'` if the whole menu fits the space below the coordinate and `'bottom'` otherwise (see {@link boxHeight}) * - `'top'` means that the menu should be placed to the bottom of y coordinate (the menu should be attached by its bottom to y coordinate) * - `'bottom'` means that the menu should be placed above y coordinate (the menu should be attached by its top to y coordinate) * * You may treat `undefined` as `'auto'`. */ attachToYBy?: "auto" | "auto-strict" | "top" | "bottom"; /** * The height of a box the context menu should avoid while calculating coordinates (see {@link attachToYBy}). * * You may treat `undefined` as `0`. */ boxHeight?: number; } export interface CreateButtonOptions { align: "right" | "left"; } export interface CreateContextMenuParams { menuName: string; detail?: { type: "series"; id: string; } | { type: "study"; id: string | null; } | { type: "shape"; id: number | string | null; } | { type: "groupOfShapes"; id: string | null; }; } export interface CreateMultipointShapeOptions extends CreateShapeOptionsBase { shape?: Exclude; } export interface CreateShapeOptions extends CreateShapeOptionsBase { shape?: "arrow_up" | "arrow_down" | "flag" | "vertical_line" | "horizontal_line" | "long_position" | "short_position" | "icon"; ownerStudyId?: EntityId; } export interface CreateShapeOptionsBase { text?: string; lock?: boolean; disableSelection?: boolean; disableSave?: boolean; disableUndo?: boolean; overrides?: TOverrides; zOrder?: "top" | "bottom"; showInObjectsTree?: boolean; ownerStudyId?: EntityId; } export interface CreateStudyOptions { checkLimit?: boolean; priceScale?: StudyPriceScale; allowChangeCurrency?: boolean; allowChangeUnit?: boolean; disableUndo?: boolean; } export interface CreateStudyTemplateOptions { saveSymbol?: boolean; saveInterval?: boolean; } export interface CrossHairMovedEventParams { time: number; price: number; } export interface CryptoBalance { symbol: string; total: number; available: number; reserved?: number; value?: number; valueCurrency?: string; longName?: string; btcValue?: number; } export interface CurrencyItem { id: string; code: string; logoUrl?: string; description?: string; } export interface CustomComboBoxItem { text: string; value: string; } export interface CustomComboBoxMetaInfo extends CustomInputFieldMetaInfo { inputType: "ComboBox"; items: CustomComboBoxItem[]; } export interface CustomFieldMetaInfoBase { inputType: string; id: string; title: string; value?: any; saveToSettings?: boolean; } export interface CustomFields { [key: string]: any; } export interface CustomFormatter { format(date: Date): string; formatLocal(date: Date): string; } export interface CustomFormatters { timeFormatter: CustomFormatter; dateFormatter: CustomFormatter; tickMarkFormatter?: (date: Date, tickMarkType: TickMarkType) => string; } export interface CustomIndicator { readonly name: string; readonly metainfo: any; readonly constructor: any; } export interface CustomInputFieldMetaInfo extends CustomFieldMetaInfoBase { preventModify?: boolean; placeHolder?: string; validator?: InputFieldValidator; customInfo?: any; } export interface CustomInputFieldsValues { [fieldId: string]: TextWithCheckboxValue | boolean | string | any; } export interface DOMData { snapshot: boolean; asks: DOMLevel[]; bids: DOMLevel[]; } export interface DOMLevel { price: number; volume: number; } export interface DatafeedConfiguration { exchanges?: Exchange[]; supported_resolutions?: ResolutionString[]; units?: Record; currency_codes?: (string | CurrencyItem)[]; supports_marks?: boolean; supports_time?: boolean; supports_timescale_marks?: boolean; symbols_types?: DatafeedSymbolType[]; } export interface DatafeedQuoteValues { ch?: number; chp?: number; short_name?: string; exchange?: string; description?: string; lp?: number; ask?: number; bid?: number; spread?: number; open_price?: number; high_price?: number; low_price?: number; prev_close_price?: number; volume?: number; original_name?: string; [valueName: string]: string | number | undefined; } export interface DatafeedSymbolType { name: string; value: string; } export interface DefaultContextMenuActionsParams { } export interface DefaultDropdownActionsParams { tradingProperties?: boolean; showHowToUse?: boolean; restoreConfirmations?: boolean; } export interface DialogParams { title: string; body: string; callback: CallbackType; } export interface DropdownItem { title: string; onSelect: () => void; } export interface DropdownParams { title: string; items: DropdownItem[]; tooltip?: string; icon?: string; align?: "right" | "left"; } export interface EditObjectDialogEventParams { objectType: EditObjectDialogObjectType; scriptTitle: string; } export interface EntityInfo { id: EntityId; name: string; } export interface ErrorFormatterParseResult extends FormatterParseResult { error?: string; res: false; } export interface Exchange { value: string; name: string; desc: string; } export interface Execution extends CustomFields { symbol: string; price: number; qty: number; side: Side; time: number; } export interface ExportDataOptions { from?: number; to?: number; includeTime?: boolean; includeUserTime?: boolean; includeSeries?: boolean; includeDisplayedValues?: boolean; includedStudies: readonly string[] | "all"; } export interface ExportedData { schema: FieldDescriptor[]; data: Float64Array[]; displayedData: string[][]; } export interface Favorites { intervals: ResolutionString[]; chartTypes: string[]; } export interface FormatterParseResult { res: boolean; } export interface GetNewsResponse { title?: string; newsItems: NewsItem[]; } export interface GrayedObject { type: "drawing" | "study"; name: string; } export interface HeikinAshiStylePreferences { upColor: string; downColor: string; drawWick: boolean; drawBorder: boolean; drawBody: boolean; borderColor: string; borderUpColor: string; borderDownColor: string; wickColor: string; wickUpColor: string; wickDownColor: string; showRealLastPrice: boolean; barColorsOnPrevClose: boolean; } export interface HiLoStylePreferences { color: string; showBorders: boolean; borderColor: string; showLabels: boolean; labelColor: string; fontSize: number; drawBody: boolean; } export interface HistoryMetadata { noData?: boolean; nextTime?: number | null; } export interface HollowCandleStylePreferences { upColor: string; downColor: string; drawWick: boolean; drawBorder: boolean; drawBody: boolean; borderColor: string; borderUpColor: string; borderDownColor: string; wickColor: string; wickUpColor: string; wickDownColor: string; } export interface IAction extends IMenuItem { readonly type: MenuItemType.Action; /** * A method which will be called when an action should be executed (e.g. when a user clicks on the item) */ execute(): void; /** * @returns Returns a state object of the action. */ getState(): Readonly; /** * @returns A subscription for an event when an action is updated. */ onUpdate(): ISubscription; } export interface IBoxedValue extends IBoxedValueReadOnly { setValue(value: T): void; } export interface IBoxedValueReadOnly { value(): T; } export interface IBrokerCommon { chartContextMenuActions(context: TradeContext, options?: DefaultContextMenuActionsParams): Promise; isTradable(symbol: string): Promise; connectionStatus(): ConnectionStatus; orders(): Promise; ordersHistory?(): Promise; positions?(): Promise; trades?(): Promise; executions(symbol: string): Promise; symbolInfo(symbol: string): Promise; accountManagerInfo(): AccountManagerInfo; formatter?(symbol: string, alignToMinMove: boolean): Promise; spreadFormatter?(symbol: string): Promise; quantityFormatter?(symbol: string): Promise; getOrderDialogOptions?(symbol: string): Promise; getPositionDialogOptions?(): PositionDialogOptions | undefined; } export interface IBrokerConnectionAdapterFactory { createDelegate(): IDelegate; createWatchedValue(value?: T): IWatchedValue; createPriceFormatter(priceScale?: number, minMove?: number, fractional?: boolean, minMove2?: number): IPriceFormatter; } export interface IBrokerConnectionAdapterHost { factory: IBrokerConnectionAdapterFactory; defaultFormatter(symbol: string, alignToMinMove: boolean): Promise; numericFormatter(decimalPlaces: number): Promise; quantityFormatter(decimalPlaces?: number): Promise; defaultContextMenuActions(context: TradeContext, params?: DefaultContextMenuActionsParams): Promise; defaultDropdownMenuActions(options?: Partial): ActionMetaInfo[]; sellBuyButtonsVisibility(): IWatchedValue | null; domPanelVisibility(): IWatchedValue | null; orderPanelVisibility(): IWatchedValue | null; silentOrdersPlacement(): IWatchedValue; patchConfig(config: Partial): void; setDurations(durations: OrderDurationMetaInfo[]): void; orderUpdate(order: Order): void; orderPartialUpdate(id: string, orderChanges: Partial): void; positionUpdate(position: Position, isHistoryUpdate?: boolean): void; positionPartialUpdate(id: string, positionChanges: Partial): void; tradeUpdate(trade: Trade, isHistoryUpdate?: boolean): void; tradePartialUpdate(id: string, tradeChanges: Partial): void; executionUpdate(execution: Execution): void; currentAccountUpdate(): void; realtimeUpdate(symbol: string, data: TradingQuotes): void; plUpdate(positionId: string, pl: number): void; pipValueUpdate(symbol: string, pipValues: PipValues): void; tradePLUpdate(tradeId: string, pl: number): void; equityUpdate(equity: number): void; marginAvailableUpdate(marginAvailable: number): void; cryptoBalanceUpdate(symbol: string, balance: CryptoBalance): void; domeUpdate(symbol: string, equity: DOMData): void; showOrderDialog?(order: T, focus?: OrderTicketFocusControl): Promise; showNotification(title: string, text: string, notificationType?: NotificationType): void; showCancelOrderDialog(orderId: string, handler: () => Promise): Promise; showCancelMultipleOrdersDialog(symbol: string, side: Side, qty: number, handler: () => Promise): Promise; showCancelBracketsDialog(orderId: string, handler: () => Promise): Promise; showCancelMultipleBracketsDialog(orderId: string, handler: () => Promise): Promise; showReversePositionDialog(position: string, handler: () => Promise): Promise; showPositionBracketsDialog(position: Position | Trade, brackets: Brackets, focus: OrderTicketFocusControl): Promise; setButtonDropdownActions(descriptions: ActionMetaInfo[]): void; activateBottomWidget(): Promise; showTradingProperties(): void; getSymbolMinTick(symbol: string): Promise; showMessageDialog(title: string, text: string, textHasHTML: boolean): void; showConfirmDialog(title: string, content: string | string[], mainButtonText?: string, cancelButtonText?: string, showDisableConfirmationsCheckbox?: boolean): Promise; showSimpleConfirmDialog(title: string, content: string | string[], mainButtonText?: string, cancelButtonText?: string, showDisableConfirmationsCheckbox?: boolean): Promise; } export interface IBrokerTerminal extends IBrokerWithoutRealtime { subscribeRealtime(symbol: string): void; unsubscribeRealtime(symbol: string): void; } export interface IBrokerWithoutRealtime extends IBrokerCommon { subscribeDOME?(symbol: string): void; unsubscribeDOME?(symbol: string): void; placeOrder(order: PreOrder, confirmId?: string): Promise; previewOrder?(order: PreOrder): Promise; modifyOrder(order: Order, confirmId?: string): Promise; cancelOrder(orderId: string): Promise; cancelOrders(symbol: string, side: Side | undefined, ordersIds: string[]): Promise; reversePosition?(positionId: string): Promise; closePosition?(positionId: string, amount?: number): Promise; closeTrade?(tradeId: string, amount?: number): Promise; editPositionBrackets?(positionId: string, brackets: Brackets, customFields?: CustomInputFieldsValues): Promise; editTradeBrackets?(tradeId: string, brackets: Brackets): Promise; leverageInfo?(leverageInfoParams: LeverageInfoParams): Promise; setLeverage?(leverageSetParams: LeverageSetParams): Promise; previewLeverage?(leverageSetParams: LeverageSetParams): Promise; /** * @deprecated Brokers should always send PL and equity updates */ subscribePL?(positionId: string): void; subscribeEquity?(): void; subscribeMarginAvailable?(symbol: string): void; subscribePipValue?(symbol: string): void; unsubscribePipValue?(symbol: string): void; unsubscribeMarginAvailable?(symbol: string): void; /** * @deprecated */ unsubscribePL?(positionId: string): void; unsubscribeEquity?(): void; } export interface IChartWidgetApi { onDataLoaded(): ISubscription<() => void>; onSymbolChanged(): ISubscription<() => void>; onIntervalChanged(): ISubscription<(interval: ResolutionString, timeFrameParameters: { timeframe?: TimeFrameValue; }) => void>; onVisibleRangeChanged(): ISubscription<(range: VisibleTimeRange) => void>; onChartTypeChanged(): ISubscription<(chartType: SeriesStyle) => void>; dataReady(callback: () => void): boolean; crossHairMoved(): ISubscription<(params: CrossHairMovedEventParams) => void>; setVisibleRange(range: SetVisibleTimeRange, options?: SetVisibleRangeOptions): Promise; setSymbol(symbol: string, callback?: () => void): void; setResolution(resolution: ResolutionString, callback?: () => void): void; setChartType(type: SeriesStyle, callback?: () => void): void; resetData(): void; executeActionById(actionId: ChartActionId): void; getCheckableActionState(actionId: ChartActionId): boolean; refreshMarks(): void; clearMarks(): void; getAllShapes(): EntityInfo[]; getAllStudies(): EntityInfo[]; getPriceToBarRatio(): number | null; setPriceToBarRatio(ratio: number, options?: UndoOptions): void; isPriceToBarRatioLocked(): boolean; setPriceToBarRatioLocked(value: boolean, options?: UndoOptions): void; getAllPanesHeight(): number[]; setAllPanesHeight(heights: readonly number[]): void; availableZOrderOperations(sources: readonly EntityId[]): AvailableZOrderOperations; sendToBack(entities: readonly EntityId[]): void; bringToFront(sources: readonly EntityId[]): void; bringForward(sources: readonly EntityId[]): void; sendBackward(sources: readonly EntityId[]): void; /** * @deprecated Use shape/study API instead. * @see {@link getStudyById} * @see {@link getShapeById} */ setEntityVisibility(entityId: EntityId, isVisible: boolean): void; createStudy(name: string, forceOverlay?: boolean, lock?: boolean, inputs?: Record, overrides?: TOverrides, options?: CreateStudyOptions): Promise; /** * @deprecated Prefer `createStudy` function that relies on named properties for `inputs`. * @see {@link createStudy} */ createStudy(name: string, forceOverlay?: boolean, lock?: boolean, inputs?: TStudyInputValue[], overrides?: TOverrides, options?: CreateStudyOptions): Promise; getStudyById(entityId: EntityId): IStudyApi; getSeries(): ISeriesApi; createShape(point: ShapePoint, options: CreateShapeOptions): EntityId | null; createMultipointShape(points: ShapePoint[], options: CreateMultipointShapeOptions): EntityId | null; getShapeById(entityId: EntityId): ILineDataSourceApi; removeEntity(entityId: EntityId, options?: UndoOptions): void; removeAllShapes(): void; removeAllStudies(): void; selection(): ISelectionApi; showPropertiesDialog(studyId: EntityId): void; createStudyTemplate(options: CreateStudyTemplateOptions): object; applyStudyTemplate(template: object): void; createOrderLine(options?: UndoOptions): IOrderLineAdapter; createPositionLine(options?: UndoOptions): IPositionLineAdapter; createExecutionShape(options?: UndoOptions): IExecutionLineAdapter; symbol(): string; symbolExt(): SymbolExt; resolution(): ResolutionString; getVisibleRange(): VisibleTimeRange; /** * @deprecated Use Price Scale API instead */ getVisiblePriceRange(): VisiblePriceRange; /** * @deprecated Use rightOffset from TimeScale API instead */ scrollPosition(): number; /** * @deprecated Use defaultRightOffset from TimeScale API instead */ defaultScrollPosition(): number; priceFormatter(): INumberFormatter; chartType(): SeriesStyle; /** * @deprecated Use Timezone API instead * @see {@link getTimezoneApi} */ setTimezone(timezone: "exchange" | Timezone): void; /** * @deprecated Use Timezone API instead * @see {@link getTimezoneApi} */ getTimezone(): "exchange" | Timezone; getTimezoneApi(): ITimezoneApi; getPanes(): IPaneApi[]; exportData(options?: Partial): Promise; canZoomOut(): boolean; zoomOut(): void; setZoomEnabled(enabled: boolean): void; setScrollEnabled(enabled: boolean): void; shapesGroupController(): IShapesGroupControllerApi; barTimeToEndOfPeriod(unixTime: number): number; endOfPeriodToBarTime(unixTime: number): number; getTimeScale(): ITimeScaleApi; isSelectBarRequested(): boolean; requestSelectBar(): Promise; cancelSelectBar(): void; } export interface IChartingLibraryWidget { headerReady(): Promise; onChartReady(callback: EmptyCallback): void; onGrayedObjectClicked(callback: (obj: GrayedObject) => void): void; onShortcut(shortCut: string | number | (string | number)[], callback: EmptyCallback): void; subscribe(event: EventName, callback: SubscribeEventsMap[EventName]): void; unsubscribe(event: EventName, callback: SubscribeEventsMap[EventName]): void; chart(index?: number): IChartWidgetApi; getLanguage(): LanguageCode; setSymbol(symbol: string, interval: ResolutionString, callback: EmptyCallback): void; remove(): void; closePopupsAndDialogs(): void; selectLineTool(linetool: SupportedLineTools): void; selectedLineTool(): SupportedLineTools; save(callback: (state: object) => void): void; load(state: object, extendedData?: SavedStateMetaInfo): void; getSavedCharts(callback: (chartRecords: SaveLoadChartRecord[]) => void): void; loadChartFromServer(chartRecord: SaveLoadChartRecord): void; saveChartToServer(onComplete?: EmptyCallback, onFail?: EmptyCallback, options?: SaveChartToServerOptions): void; removeChartFromServer(chartId: string, onCompleteCallback: EmptyCallback): void; onContextMenu(callback: (unixTime: number, price: number) => ContextMenuItem[]): void; createButton(options?: CreateButtonOptions): HTMLElement; createDropdown(params: DropdownParams): Promise; showNoticeDialog(params: DialogParams<() => void>): void; showConfirmDialog(params: DialogParams<(confirmed: boolean) => void>): void; showLoadChartDialog(): void; showSaveAsChartDialog(): void; symbolInterval(): SymbolIntervalResult; mainSeriesPriceFormatter(): INumberFormatter; getIntervals(): string[]; getStudiesList(): string[]; getStudyInputs(studyName: string): StudyInputInfo[]; addCustomCSSFile(url: string): void; applyOverrides(overrides: TOverrides): void; applyStudiesOverrides(overrides: object): void; watchList(): Promise; news(): Promise; widgetbar(): Promise; activeChart(): IChartWidgetApi; chartsCount(): number; layout(): LayoutType; setLayout(layout: LayoutType): void; layoutName(): string; changeTheme(themeName: ThemeName, options?: ChangeThemeOptions): Promise; getTheme(): ThemeName; takeScreenshot(): void; takeClientScreenshot(options?: Partial): Promise; lockAllDrawingTools(): IWatchedValue; hideAllDrawingTools(): IWatchedValue; magnetEnabled(): IWatchedValue; magnetMode(): IWatchedValue; symbolSync(): IWatchedValue; intervalSync(): IWatchedValue; crosshairSync(): IWatchedValue; timeSync(): IWatchedValue; startFullscreen(): void; exitFullscreen(): void; undoRedoState(): UndoRedoState; navigationButtonsVisibility(): IWatchedValue; paneButtonsVisibility(): IWatchedValue; dateFormat(): IWatchedValue; } export interface IContextMenuRenderer { /** * Displays the menu at the position {@link pos}. */ show(pos: ContextMenuPosition): void; /** * hides the menu. */ hide(): void; /** * @returns Returns whether the menu is currently displayed. */ isShown(): boolean; } export interface IDatafeedChartApi { getMarks?(symbolInfo: LibrarySymbolInfo, from: number, to: number, onDataCallback: GetMarksCallback, resolution: ResolutionString): void; getTimescaleMarks?(symbolInfo: LibrarySymbolInfo, from: number, to: number, onDataCallback: GetMarksCallback, resolution: ResolutionString): void; /** * This function is called if configuration flag supports_time is set to true when chart needs to know the server time. * The charting library expects callback to be called once. * The time is provided without milliseconds. Example: 1445324591. It is used to display Countdown on the price scale. */ getServerTime?(callback: ServerTimeCallback): void; searchSymbols(userInput: string, exchange: string, symbolType: string, onResult: SearchSymbolsCallback): void; resolveSymbol(symbolName: string, onResolve: ResolveCallback, onError: ErrorCallback, extension?: SymbolResolveExtension): void; getBars(symbolInfo: LibrarySymbolInfo, resolution: ResolutionString, periodParams: PeriodParams, onResult: HistoryCallback, onError: ErrorCallback): void; subscribeBars(symbolInfo: LibrarySymbolInfo, resolution: ResolutionString, onTick: SubscribeBarsCallback, listenerGuid: string, onResetCacheNeededCallback: () => void): void; unsubscribeBars(listenerGuid: string): void; subscribeDepth?(symbol: string, callback: DomeCallback): string; unsubscribeDepth?(subscriberUID: string): void; getVolumeProfileResolutionForPeriod?(currentResolution: ResolutionString, from: number, to: number, symbolInfo: LibrarySymbolInfo): ResolutionString; } export interface IDatafeedQuotesApi { getQuotes(symbols: string[], onDataCallback: QuotesCallback, onErrorCallback: (msg: string) => void): void; subscribeQuotes(symbols: string[], fastSymbols: string[], onRealtimeCallback: QuotesCallback, listenerGUID: string): void; unsubscribeQuotes(listenerGUID: string): void; } export interface IDelegate extends ISubscription { fire: TFunc; } /** * IDESTRØYÅBLE * ┌────────────────┐ * │ ┏━━━━━┓ │ * │ ┃ ○ ○ ┃ │ ┏━━━━━┓ ┌╲╌╌╱╌┐ * │ ┃ ○ ○ ┃ x 1 │ ┃ ○ ○ ┃ destroy() ┊ ╲╱ ╵ * │ ┠─────┨ │ ┃ ○ ○ ┃ ╭───╯╲ ╷ ╱╲ ┊ * │ ┗━━━━━┛ │ ┠─────┨ ╰───╮╱ ├╱ ╌╲ ┤ * │ destroy() x 1 │ ┗━━━━━┛ └ ╌╌ ╌┘ * └────────────────┘ */ export interface IDestroyable { destroy(): void; } export interface IDropdownApi { applyOptions(options: DropdownUpdateParams): void; remove(): void; } export interface IExecutionLineAdapter { remove(): void; getPrice(): number; setPrice(value: number): this; getTime(): number; setTime(value: number): this; getDirection(): Direction; setDirection(value: Direction): this; getText(): string; setText(value: string): this; getTooltip(): string; setTooltip(value: string): this; getArrowHeight(): number; setArrowHeight(value: number): this; getArrowSpacing(): number; setArrowSpacing(value: number): this; getFont(): string; setFont(value: string): this; getTextColor(): string; setTextColor(value: string): this; getArrowColor(): string; setArrowColor(value: string): this; } export interface IExternalDatafeed { onReady(callback: OnReadyCallback): void; } export interface IExternalSaveLoadAdapter { getAllCharts(): Promise; removeChart(id: T): Promise; saveChart(chartData: ChartData): Promise; getChartContent(chartId: number): Promise; getAllStudyTemplates(): Promise; removeStudyTemplate(studyTemplateInfo: StudyTemplateMetaInfo): Promise; saveStudyTemplate(studyTemplateData: StudyTemplateData): Promise; getStudyTemplateContent(studyTemplateInfo: StudyTemplateMetaInfo): Promise; getDrawingTemplates(toolName: string): Promise; loadDrawingTemplate(toolName: string, templateName: string): Promise; removeDrawingTemplate(toolName: string, templateName: string): Promise; saveDrawingTemplate(toolName: string, templateName: string, content: string): Promise; } export interface IFormatter { format(value?: T): string; parse?(value: string): ErrorFormatterParseResult | SuccessFormatterParseResult; } export interface ILineDataSourceApi { isSelectionEnabled(): boolean; setSelectionEnabled(enable: boolean): void; isSavingEnabled(): boolean; setSavingEnabled(enable: boolean): void; isShowInObjectsTreeEnabled(): boolean; setShowInObjectsTreeEnabled(enabled: boolean): void; isUserEditEnabled(): boolean; setUserEditEnabled(enabled: boolean): void; bringToFront(): void; sendToBack(): void; getProperties(): Record; setProperties(newProperties: object): void; getPoints(): PricedPoint[]; setPoints(points: ShapePoint[]): void; } export interface IMenuItem { readonly type: MenuItemType; /** * An unique ID of an action item. Could be used to distinguish actions between each other. */ readonly id: string; } export interface INewsApi { refresh(): void; } export interface IObservable { subscribe(callback: (value: T) => void): void; unsubscribe(callback: (value: T) => void): void; } export interface IObservableValue extends IBoxedValue, IObservable { } export interface IObservableValueReadOnly extends IBoxedValueReadOnly, IObservable { } export interface IOrderLineAdapter { remove(): void; onModify(callback: () => void): this; onModify(data: T, callback: (data: T) => void): this; onMove(callback: () => void): this; onMove(data: T, callback: (data: T) => void): this; onCancel(callback: () => void): this; onCancel(data: T, callback: (data: T) => void): this; getPrice(): number; setPrice(value: number): this; getText(): string; setText(value: string): this; getTooltip(): string; setTooltip(value: string): this; getModifyTooltip(): string; setModifyTooltip(value: string): this; getCancelTooltip(): string; setCancelTooltip(value: string): this; getQuantity(): string; setQuantity(value: string): this; getEditable(): boolean; setEditable(value: boolean): this; getCancellable(): boolean; setCancellable(value: boolean): this; getExtendLeft(): boolean; setExtendLeft(value: boolean): this; getLineLength(): number; setLineLength(value: number): this; getLineStyle(): number; setLineStyle(value: number): this; getLineWidth(): number; setLineWidth(value: number): this; getBodyFont(): string; setBodyFont(value: string): this; getQuantityFont(): string; setQuantityFont(value: string): this; getLineColor(): string; setLineColor(value: string): this; getBodyBorderColor(): string; setBodyBorderColor(value: string): this; getBodyBackgroundColor(): string; setBodyBackgroundColor(value: string): this; getBodyTextColor(): string; setBodyTextColor(value: string): this; getQuantityBorderColor(): string; setQuantityBorderColor(value: string): this; getQuantityBackgroundColor(): string; setQuantityBackgroundColor(value: string): this; getQuantityTextColor(): string; setQuantityTextColor(value: string): this; getCancelButtonBorderColor(): string; setCancelButtonBorderColor(value: string): this; getCancelButtonBackgroundColor(): string; setCancelButtonBackgroundColor(value: string): this; getCancelButtonIconColor(): string; setCancelButtonIconColor(value: string): this; } export interface IPaneApi { hasMainSeries(): boolean; getLeftPriceScales(): readonly IPriceScaleApi[]; getRightPriceScales(): readonly IPriceScaleApi[]; getMainSourcePriceScale(): IPriceScaleApi | null; getHeight(): number; setHeight(height: number): void; moveTo(paneIndex: number): void; paneIndex(): number; } export interface IPositionLineAdapter { remove(): void; onClose(callback: () => void): this; onClose(data: T, callback: (data: T) => void): this; onModify(callback: () => void): this; onModify(data: T, callback: (data: T) => void): this; onReverse(callback: () => void): this; onReverse(data: T, callback: (data: T) => void): this; getPrice(): number; setPrice(value: number): this; getText(): string; setText(value: string): this; getTooltip(): string; setTooltip(value: string): this; getProtectTooltip(): string; setProtectTooltip(value: string): this; getCloseTooltip(): string; setCloseTooltip(value: string): this; getReverseTooltip(): string; setReverseTooltip(value: string): this; getQuantity(): string; setQuantity(value: string): this; getExtendLeft(): boolean; setExtendLeft(value: boolean): this; getLineLength(): number; setLineLength(value: number): this; getLineStyle(): number; setLineStyle(value: number): this; getLineWidth(): number; setLineWidth(value: number): this; getBodyFont(): string; setBodyFont(value: string): this; getQuantityFont(): string; setQuantityFont(value: string): this; getLineColor(): string; setLineColor(value: string): this; getBodyBorderColor(): string; setBodyBorderColor(value: string): this; getBodyBackgroundColor(): string; setBodyBackgroundColor(value: string): this; getBodyTextColor(): string; setBodyTextColor(value: string): this; getQuantityBorderColor(): string; setQuantityBorderColor(value: string): this; getQuantityBackgroundColor(): string; setQuantityBackgroundColor(value: string): this; getQuantityTextColor(): string; setQuantityTextColor(value: string): this; getReverseButtonBorderColor(): string; setReverseButtonBorderColor(value: string): this; getReverseButtonBackgroundColor(): string; setReverseButtonBackgroundColor(value: string): this; getReverseButtonIconColor(): string; setReverseButtonIconColor(value: string): this; getCloseButtonBorderColor(): string; setCloseButtonBorderColor(value: string): this; getCloseButtonBackgroundColor(): string; setCloseButtonBackgroundColor(value: string): this; getCloseButtonIconColor(): string; setCloseButtonIconColor(value: string): this; } export interface IPriceFormatter extends ISymbolValueFormatter { format(price: number, signPositive?: boolean, tailSize?: number, signNegative?: boolean, useRtlFormat?: boolean): string; } export interface IPriceScaleApi { getMode(): PriceScaleMode; setMode(newMode: PriceScaleMode): void; isInverted(): boolean; setInverted(isInverted: boolean): void; getVisiblePriceRange(): VisiblePriceRange | null; setVisiblePriceRange(range: VisiblePriceRange): void; hasMainSeries(): boolean; getStudies(): EntityId[]; } export interface ISelectionApi { add(entities: EntityId[] | EntityId): void; set(entities: EntityId[] | EntityId): void; remove(entities: EntityId[]): void; contains(entity: EntityId): boolean; allSources(): EntityId[]; isEmpty(): boolean; clear(): void; onChanged(): ISubscription<() => void>; canBeAddedToSelection(entity: EntityId): boolean; } export interface ISeparator extends IMenuItem { readonly type: MenuItemType.Separator; } export interface ISeriesApi { isUserEditEnabled(): boolean; setUserEditEnabled(enabled: boolean): void; mergeUp(): void; mergeDown(): void; unmergeUp(): void; unmergeDown(): void; detachToRight(): void; detachToLeft(): void; detachNoScale(): void; changePriceScale(newPriceScale: SeriesPriceScale): void; isVisible(): boolean; setVisible(visible: boolean): void; bringToFront(): void; sendToBack(): void; entityId(): EntityId; chartStyleProperties(chartStyle: T): SeriesPreferencesMap[T]; setChartStyleProperties(chartStyle: T, newPrefs: Partial): void; } export interface ISettingsAdapter { initialSettings?: InitialSettingsMap; setValue(key: string, value: string): void; removeValue(key: string): void; } export interface IShapesGroupControllerApi { createGroupFromSelection(): ShapesGroupId; removeGroup(groupId: ShapesGroupId): void; groups(): readonly ShapesGroupId[]; shapesInGroup(groupId: ShapesGroupId): readonly EntityId[]; excludeShapeFromGroup(groupId: ShapesGroupId, shapeId: EntityId): void; availableZOrderOperations(groupId: ShapesGroupId): AvailableZOrderOperations; bringToFront(groupId: ShapesGroupId): void; sendToBack(groupId: ShapesGroupId): void; bringForward(groupId: ShapesGroupId): void; sendBackward(groupId: ShapesGroupId): void; insertAfter(groupId: ShapesGroupId, target: ShapesGroupId | EntityId): void; insertBefore(groupId: ShapesGroupId, target: ShapesGroupId | EntityId): void; setGroupVisibility(groupId: ShapesGroupId, value: boolean): void; groupVisibility(groupId: ShapesGroupId): GroupVisibilityState; setGroupLock(groupId: ShapesGroupId, value: boolean): void; groupLock(groupId: ShapesGroupId): GroupLockState; getGroupName(groupId: ShapesGroupId): string; setGroupName(groupId: ShapesGroupId, name: string): void; canBeGroupped(shapes: readonly EntityId[]): boolean; } export interface IStudyApi { isUserEditEnabled(): boolean; setUserEditEnabled(enabled: boolean): void; getInputsInfo(): StudyInputInfo[]; getInputValues(): StudyInputValueItem[]; setInputValues(values: StudyInputValueItem[]): void; mergeUp(): void; mergeDown(): void; unmergeUp(): void; unmergeDown(): void; changePriceScale(newPriceScale: StudyPriceScale | EntityId): void; isVisible(): boolean; setVisible(visible: boolean): void; bringToFront(): void; sendToBack(): void; applyOverrides(overrides: TOverrides): void; applyToEntireLayout(): void; onDataLoaded(): ISubscription<() => void>; onStudyError(): ISubscription<() => void>; } export interface ISubscription { subscribe(obj: object | null, member: TFunc, singleshot?: boolean): void; unsubscribe(obj: object | null, member: TFunc): void; unsubscribeAll(obj: object | null): void; } export interface ISymbolValueFormatter { format(price: number, signPositive?: boolean): string; } export interface ITimeScaleApi { coordinateToTime(x: number): number | null; /** * This is to detect when the chart has been zoomed in/out */ barSpacingChanged(): ISubscription<(newBarSpacing: number) => void>; /** * This is to detect when the chart has been scrolled left/right */ rightOffsetChanged(): ISubscription<(rightOffset: number) => void>; setRightOffset(offset: number): void; setBarSpacing(newBarSpacing: number): void; barSpacing(): number; rightOffset(): number; width(): number; defaultRightOffset(): IWatchedValue; } export interface ITimezoneApi { availableTimezones(): readonly TimezoneInfo[]; getTimezone(): TimezoneInfo; setTimezone(timezone: TimezoneId, options?: UndoOptions): void; onTimezoneChanged(): ISubscription<(timezone: TimezoneId) => void>; } export interface IUpdatableAction extends IAction { update(options: Partial): void; } export interface IWatchListApi { defaultList(): string[]; getList(id?: string): string[] | null; getAllLists(): WatchListSymbolListMap | null; setActiveList(id: string): void; getActiveListId(): string | null; setList(symbols: string[]): void; updateList(listId: string, symbols: string[]): void; renameList(listId: string, newName: string): void; createList(listName?: string, symbols?: string[]): WatchListSymbolList | null; saveList(list: WatchListSymbolList): boolean; deleteList(listId: string): void; onListChanged(): ISubscription; onActiveListChanged(): ISubscription; onListAdded(): ISubscription; onListRemoved(): ISubscription; onListRenamed(): ISubscription; } export interface IWatchedValue extends IWatchedValueReadonly, IObservableValue { setValue(value: T, forceUpdate?: boolean): void; subscribe(callback: WatchedValueCallback, options?: WatchedValueSubscribeOptions): void; unsubscribe(callback?: WatchedValueCallback | null): void; } export interface IWatchedValueReadonly extends IObservableValueReadOnly { subscribe(callback: (value: T) => void, options?: WatchedValueSubscribeOptions): void; unsubscribe(callback?: ((value: T) => void) | null): void; } export interface IWidgetbarApi extends IDestroyable { showPage(pageName: PageName): void; hidePage(pageName: PageName): void; isPageVisible(pageName: PageName): boolean; } export interface InitialSettingsMap { [key: string]: string; } export interface InstrumentInfo { qty: QuantityMetainfo; pipValue: number; pipSize: number; minTick: number; lotSize?: number; type?: SymbolType; units?: string; brokerSymbol?: string; description: string; domVolumePrecision?: number; leverage?: string; marginRate?: number; limitPriceStep?: number; stopPriceStep?: number; allowedDurations?: string[]; currency?: string; baseCurrency?: string; quoteCurrency?: string; bigPointValue?: number; } export interface IsTradableResult { tradable: boolean; reason?: string; solutions?: TradableSolutions; shortReason?: string; } export interface KagiStylePreferences { upColor: string; downColor: string; upColorProjection: string; downColorProjection: string; } export interface LeverageInfo { title: string; leverage: number; min: number; max: number; step: number; } export interface LeverageInfoParams { symbol: string; orderType: OrderType; side: Side; customFields?: CustomInputFieldsValues; } export interface LeveragePreviewResult { infos?: string[]; warnings?: string[]; errors?: string[]; } export interface LeverageSetParams extends LeverageInfoParams { leverage: number; } export interface LeverageSetResult { leverage: number; } export interface LibrarySymbolInfo { /** * Symbol Name */ name: string; full_name: string; base_name?: [ string ]; /** * Unique symbol id */ ticker?: string; description: string; type: string; /** * @example "1700-0200" */ session: string; session_display?: string; /** @deprecated Use session_holidays instead */ holidays?: string; /** * @example "20181105,20181107,20181112" */ session_holidays?: string; /** * @example "1900F4-2350F4,1000-1845:20181113;1000-1400:20181114" */ corrections?: string; /** * Traded exchange * @example "NYSE" */ exchange: string; listed_exchange: string; timezone: Timezone; /** * Prices format: "price" or "volume" */ format: SeriesFormat; /** * Code (Tick) * @example 8/16/.../256 (1/8/100 1/16/100 ... 1/256/100) or 1/10/.../10000000 (1 0.1 ... 0.0000001) */ pricescale: number; /** * The number of units that make up one tick. * @example For example, U.S. equities are quotes in decimals, and tick in decimals, and can go up +/- .01. So the tick increment is 1. But the e-mini S&P futures contract, though quoted in decimals, goes up in .25 increments, so the tick increment is 25. (see also Tick Size) */ minmov: number; fractional?: boolean; /** * @example Quarters of 1/32: pricescale=128, minmovement=1, minmovement2=4 */ minmove2?: number; /** * false if DWM only */ has_intraday?: boolean; /** * An array of resolutions which should be enabled in resolutions picker for this symbol. */ supported_resolutions: ResolutionString[]; /** * @example (for ex.: "1,5,60") - only these resolutions will be requested, all others will be built using them if possible */ intraday_multipliers?: string[]; has_seconds?: boolean; has_ticks?: boolean; /** * It is an array containing seconds resolutions (in seconds without a postfix) the datafeed builds by itself. */ seconds_multipliers?: string[]; has_daily?: boolean; has_weekly_and_monthly?: boolean; has_empty_bars?: boolean; /** * @deprecated * use visible_plots_set instead */ has_no_volume?: boolean; /** * Represents what values are supported by the symbol */ visible_plots_set?: VisiblePlotsSet; /** * Integer showing typical volume value decimal places for this symbol */ volume_precision?: number; data_status?: "streaming" | "endofday" | "pulsed" | "delayed_streaming"; /** * Boolean showing whether this symbol is expired futures contract or not. */ expired?: boolean; /** * Unix timestamp of expiration date. */ expiration_date?: number; sector?: string; industry?: string; currency_code?: string; original_currency_code?: string; unit_id?: string; original_unit_id?: string; unit_conversion_types?: string[]; } export interface LineBreakStylePreferences { upColor: string; downColor: string; borderUpColor: string; borderDownColor: string; upColorProjection: string; downColorProjection: string; borderUpColorProjection: string; borderDownColorProjection: string; } export interface LineStylePreferences { color: string; linestyle: number; linewidth: number; styleType: number; } export interface LoadingScreenOptions { foregroundColor?: string; backgroundColor?: string; } export interface Mark { id: string | number; time: number; color: MarkConstColors | MarkCustomColor; text: string; label: string; labelFontColor: string; minSize: number; } export interface MarkCustomColor { color: string; background: string; } export interface MenuSeparator extends ActionDescription { separator: boolean; } export interface MouseEventParams { clientX: number; clientY: number; pageX: number; pageY: number; screenX: number; screenY: number; } export interface NegativeBaseInputFieldValidatorResult extends BaseInputFieldValidatorResult { valid: false; errorMessage: string; } export interface NewsItem { title: string; source: string; published: number; link?: string; shortDescription?: string; fullDescription?: string; } export interface NumericFormattingParams { decimal_sign: string; } export interface OrderDialogOptions extends TradingDialogOptions { } export interface OrderDuration { /** * type is OrderDurationMetaInfo.value */ type: string; datetime?: number; } export interface OrderDurationMetaInfo { hasDatePicker?: boolean; hasTimePicker?: boolean; default?: boolean; name: string; value: string; supportedOrderTypes?: OrderType[]; } export interface OrderOrPositionMessage { type: OrderOrPositionMessageType; text: string; } export interface OrderPreviewResult { sections: OrderPreviewSection[]; confirmId?: string; warnings?: string[]; errors?: string[]; } export interface OrderPreviewSection { rows: OrderPreviewSectionRow[]; header?: string; } export interface OrderPreviewSectionRow { title: string; value: string; } export interface OrderRule { id: string; severity: "warning" | "error"; } export interface OrderTableColumn extends AccountManagerColumn { supportedStatusFilters?: OrderStatusFilter[]; } /** * Input value of the order ticket * This info is not sufficient to place an order */ export interface OrderTemplate { symbol: string; type?: OrderType; side?: Side; qty?: number; stopPrice?: number; limitPrice?: number; takeProfit?: number; stopLoss?: number; trailingStopPips?: number; duration?: OrderDuration; customFields?: CustomInputFieldsValues; } export interface Overrides { [key: string]: string | number | boolean; } export interface PeriodParams { from: number; to: number; countBack: number; firstDataRequest: boolean; } export interface PipValues { buyPipValue: number; sellPipValue: number; } export interface PlaceOrderResult { orderId?: string; } /** * Info about a placed order */ export interface PlacedOrder extends CustomFields { id: string; symbol: string; type: OrderType; side: Side; qty: number; status: OrderStatus; stopLoss?: number; trailingStopPips?: number; stopType?: StopType; takeProfit?: number; duration?: OrderDuration; customFields?: CustomInputFieldsValues; filledQty?: number; avgPrice?: number; updateTime?: number; /** unix timestamp in milliseconds */ limitPrice?: number; stopPrice?: number; message?: OrderOrPositionMessage; } export interface PlusClickParams extends MouseEventParams { symbol: string | null; price: number; } export interface PnFStylePreferences { upColor: string; downColor: string; upColorProjection: string; downColorProjection: string; } export interface Position { id: string; symbol: string; qty: number; shortQty?: number; longQty?: number; side: Side; avgPrice: number; message?: OrderOrPositionMessage; [key: string]: any; } export interface PositionDialogOptions extends TradingDialogOptions { } export interface PositiveBaseInputFieldValidatorResult extends BaseInputFieldValidatorResult { valid: true; } /** * Output value of the order ticket and input value of the broker's place order command * This info is sufficient to place an order */ export interface PreOrder extends OrderTemplate { symbol: string; type: OrderType; side: Side; qty: number; seenPrice: number | null; isClose?: boolean; } export interface PricedPoint extends TimePoint { price: number; } export interface QuantityMetainfo { min: number; max: number; step: number; uiStep?: number; default?: number; } export interface QuoteErrorData { s: "error"; n: string; v: object; } export interface QuoteOkData { s: "ok"; n: string; v: DatafeedQuoteValues; } export interface RenkoStylePreferences { upColor: string; downColor: string; borderUpColor: string; borderDownColor: string; upColorProjection: string; downColorProjection: string; borderUpColorProjection: string; borderDownColorProjection: string; wickUpColor: string; wickDownColor: string; } export interface RestBrokerConnectionInfo { url: string; access_token: string; } export interface RssNewsFeedInfo { url: string; name: string; } export interface RssNewsFeedParams { default: RssNewsFeedItem; [symbolType: string]: RssNewsFeedItem; } export interface SaveChartToServerOptions { chartName?: string; defaultChartName?: string; } export interface SaveLoadChartRecord { id: string; name: string; image_url: string; modified_iso: number; short_symbol: string; interval: ResolutionString; } export interface SavedStateMetaInfo { uid: number; name: string; description: string; } export interface SearchSymbolResultItem { symbol: string; full_name: string; description: string; exchange: string; ticker: string; type: string; } export interface SeriesFieldDescriptor { type: "value"; sourceType: "series"; plotTitle: string; sourceTitle: string; } export interface SeriesPreferencesMap { [ChartStyle.Bar]: BarStylePreferences; [ChartStyle.Candle]: CandleStylePreferences; [ChartStyle.Line]: LineStylePreferences; [ChartStyle.Area]: AreaStylePreferences; [ChartStyle.Renko]: RenkoStylePreferences; [ChartStyle.Kagi]: KagiStylePreferences; [ChartStyle.PnF]: PnFStylePreferences; [ChartStyle.LineBreak]: LineBreakStylePreferences; [ChartStyle.HeikinAshi]: HeikinAshiStylePreferences; [ChartStyle.HollowCandle]: HollowCandleStylePreferences; [ChartStyle.Baseline]: BaselineStylePreferences; [ChartStyle.HiLo]: HiLoStylePreferences; } export interface SetVisibleRangeOptions { applyDefaultRightMargin?: boolean; percentRightMargin?: number; } export interface SingleBrokerMetaInfo { configFlags: BrokerConfigFlags; customNotificationFields?: string[]; durations?: OrderDurationMetaInfo[]; positionDialogOptions?: PositionDialogOptions; orderRules?: OrderRule[]; customUI?: BrokerCustomUI; } export interface SortingParameters { columnId: string; asc?: boolean; } export interface StickedPoint extends TimePoint { channel: "open" | "high" | "low" | "close"; } export interface StudyFieldDescriptor { type: "value"; sourceType: "study"; sourceId: string; sourceTitle: string; plotTitle: string; } export interface StudyInputInfo { id: StudyInputId; name: string; type: string; localizedName: string; } export interface StudyInputValueItem { id: StudyInputId; value: StudyInputValue; } export interface StudyOrDrawingAddedToChartEventParams { value: string; } export interface StudyOverrides { [key: string]: StudyOverrideValueType; } export interface StudyTemplateData { name: string; content: string; } export interface StudyTemplateMetaInfo { name: string; } export interface SubscribeEventsMap { toggle_sidebar: (isHidden: boolean) => void; indicators_dialog: EmptyCallback; toggle_header: (isHidden: boolean) => void; edit_object_dialog: (params: EditObjectDialogEventParams) => void; chart_load_requested: (savedData: object) => void; chart_loaded: EmptyCallback; mouse_down: (params: MouseEventParams) => void; mouse_up: (params: MouseEventParams) => void; drawing: (params: StudyOrDrawingAddedToChartEventParams) => void; study: (params: StudyOrDrawingAddedToChartEventParams) => void; undo: EmptyCallback; redo: EmptyCallback; undo_redo_state_changed: (state: UndoRedoState) => void; reset_scales: EmptyCallback; compare_add: EmptyCallback; add_compare: EmptyCallback; "load_study template": EmptyCallback; onTick: (tick: Bar) => void; onAutoSaveNeeded: EmptyCallback; onScreenshotReady: (url: string) => void; onMarkClick: (markId: Mark["id"]) => void; onPlusClick: (params: PlusClickParams) => void; onTimescaleMarkClick: (markId: TimescaleMark["id"]) => void; onSelectedLineToolChanged: EmptyCallback; layout_about_to_be_changed: (newLayoutType: LayoutType) => void; layout_changed: EmptyCallback; activeChartChanged: (chartIndex: number) => void; series_event: (seriesEventType: SeriesEventType) => void; study_event: (entityId: EntityId, studyEventType: StudyEventType) => void; drawing_event: (sourceId: EntityId, drawingEventType: DrawingEventType) => void; study_properties_changed: (id: EntityId) => void; series_properties_changed: (id: EntityId) => void; panes_height_changed: () => void; panes_order_changed: () => void; } export interface SuccessFormatterParseResult extends FormatterParseResult { res: true; value: T; suggest?: string; } export interface SymbolExt { symbol: string; full_name: string; exchange: string; description: string; type: string; pro_name: string; } export interface SymbolIntervalResult { symbol: string; interval: ResolutionString; } export interface SymbolResolveExtension { currencyCode?: string; unitId?: string; } export interface TextWithCheckboxFieldCustomInfo { checkboxTitle: string; asterix?: boolean; } export interface TextWithCheckboxFieldMetaInfo extends CustomInputFieldMetaInfo { inputType: "TextWithCheckBox"; value: TextWithCheckboxValue; customInfo: TextWithCheckboxFieldCustomInfo; validator?: TextInputFieldValidator; } export interface TextWithCheckboxValue { text: string; checked: boolean; } export interface TimeFieldDescriptor { type: "time"; } export interface TimeFrameItem { text: string; resolution: ResolutionString; description?: string; title?: string; } export interface TimeFramePeriodBack { type: TimeFrameType.PeriodBack; value: string; } export interface TimeFrameTimeRange { type: TimeFrameType.TimeRange; from: number; to: number; } export interface TimePoint { time: number; } export interface TimeScaleOptions { min_bar_spacing?: number; } export interface TimescaleMark { id: string | number; time: number; color: MarkConstColors | string; label: string; tooltip: string[]; } export interface TimezoneInfo { id: TimezoneId; title: string; offset?: number; } export interface Trade extends CustomFields { id: string; date: number; symbol: string; qty: number; side: Side; price: number; } export interface TradeContext { symbol: string; displaySymbol: string; value: number | null; formattedValue: string; last: number; } export interface TradingCustomization { position: Overrides; order: Overrides; } export interface TradingDialogOptions { customFields?: TradingDialogCustomField[]; } export interface TradingQuotes { trade?: number; size?: number; bid?: number; bid_size?: number; ask?: number; ask_size?: number; spread?: number; isDelayed?: boolean; } export interface TradingTerminalWidgetOptions extends ChartingLibraryWidgetOptions { brokerConfig?: SingleBrokerMetaInfo; broker_config?: SingleBrokerMetaInfo; restConfig?: RestBrokerConnectionInfo; widgetbar?: WidgetBarParams; rss_news_feed?: RssNewsFeedParams; news_provider?: GetNewsFunction; trading_customization?: TradingCustomization; brokerFactory?(host: IBrokerConnectionAdapterHost): IBrokerWithoutRealtime | IBrokerTerminal; broker_factory?(host: IBrokerConnectionAdapterHost): IBrokerWithoutRealtime | IBrokerTerminal; } export interface TranslateOptions { plural?: string; count?: number; context?: string; replace?: Record; } export interface UndoOptions { disableUndo?: boolean; } export interface UndoRedoState { readonly enableUndo: boolean; readonly undoText: string | undefined; readonly enableRedo: boolean; readonly redoText: string | undefined; } export interface Unit { id: string; name: string; description: string; } export interface UserTimeFieldDescriptor { type: "userTime"; } export interface VisiblePriceRange { from: number; to: number; } export interface VisibleTimeRange { from: number; to: number; } export interface WatchListSymbolList extends WatchListSymbolListData { id: string; } export interface WatchListSymbolListData { symbols: string[]; title: string; } export interface WatchListSymbolListMap { [listId: string]: WatchListSymbolList; } export interface WatchedValueSubscribeOptions { once?: boolean; callWithLast?: boolean; } export interface WidgetBarParams { details?: boolean; watchlist?: boolean; news?: boolean; datawindow?: boolean; watchlist_settings?: { default_symbols: string[]; readonly?: boolean; }; } export type CustomTimezones = "Africa/Cairo" | "Africa/Johannesburg" | "Africa/Lagos" | "America/Argentina/Buenos_Aires" | "America/Bogota" | "America/Caracas" | "America/Chicago" | "America/El_Salvador" | "America/Juneau" | "America/Lima" | "America/Los_Angeles" | "America/Mexico_City" | "America/New_York" | "America/Phoenix" | "America/Santiago" | "America/Sao_Paulo" | "America/Toronto" | "America/Vancouver" | "Asia/Almaty" | "Asia/Ashkhabad" | "Asia/Bahrain" | "Asia/Bangkok" | "Asia/Chongqing" | "Asia/Dubai" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Jakarta" | "Asia/Jerusalem" | "Asia/Karachi" | "Asia/Kathmandu" | "Asia/Kolkata" | "Asia/Kuwait" | "Asia/Manila" | "Asia/Muscat" | "Asia/Qatar" | "Asia/Riyadh" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Taipei" | "Asia/Tehran" | "Asia/Tokyo" | "Atlantic/Reykjavik" | "Australia/ACT" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Perth" | "Australia/Sydney" | "Europe/Amsterdam" | "Europe/Athens" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Helsinki" | "Europe/Istanbul" | "Europe/Lisbon" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Riga" | "Europe/Rome" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Vilnius" | "Europe/Warsaw" | "Europe/Zurich" | "Pacific/Auckland" | "Pacific/Chatham" | "Pacific/Fakaofo" | "Pacific/Honolulu" | "Pacific/Norfolk" | "US/Mountain"; export as namespace TradingView; export {};