Skip to main content

Interface: IBrokerWithoutRealtime

Charting Library.IBrokerWithoutRealtime

The Broker API is a key component that enables trading. Its main purpose is to connect TradingView charts with your trading logic. Refer to the Core trading concepts article for more information.

Hierarchy

Methods

accountManagerInfo

accountManagerInfo(): AccountManagerInfo

This function should return the information that will be used to build an Account manager.

Returns

AccountManagerInfo

Inherited from

IBrokerCommon.accountManagerInfo


cancelOrder

cancelOrder(orderId): Promise<void>

This method is called to cancel a single order with the given id.

Parameters

NameTypeDescription
orderIdstringid for the order to cancel

Returns

Promise<void>


cancelOrders

cancelOrders(symbol, side, ordersIds): Promise<void>

This method is called to cancel multiple orders for a symbol and side.

ordersIds parameter should contain the list of order ids to be cancelled.

Parameters

NameTypeDescription
symbolstringsymbol identifier
sideSideorder side
ordersIdsstring[]ids already collected by symbol and side

Returns

Promise<void>


chartContextMenuActions

chartContextMenuActions(context, options?): Promise<ActionMetaInfo[]>

Chart can have a sub-menu Trading in the context menu. This method should return an array of ActionMetaInfo elements, each of them representing one context menu item.

Parameters

NameTypeDescription
contextTradeContextcontext object passed by a browser
options?DefaultContextMenuActionsParams-

Returns

Promise<ActionMetaInfo[]>

Inherited from

IBrokerCommon.chartContextMenuActions


closePosition

closePosition(positionId, amount?): Promise<void>

This method is called if supportClosePosition configuration flag is on. It allows to close the position by id.

Parameters

NameTypeDescription
positionIdstringposition id
amount?numberThe amount is specified if supportPartialClosePosition is true and the user wants to close only part of the position.

Returns

Promise<void>


closeTrade

closeTrade(tradeId, amount?): Promise<void>

This method is called if supportCloseTrade configuration flag is on. It allows to close the trade by id.

Parameters

NameTypeDescription
tradeIdstringtrade id
amount?numberThe amount is specified if supportPartialCloseTrade is true and the user wants to close only part of the trade.

Returns

Promise<void>


connectionStatus

connectionStatus(): ConnectionStatus

Connection status for the Broker API.

You don't need to return values other than 1 (Connected) typically since the broker is already connected when you create the widget. You can use it if you want to display a spinner in the bottom panel while the data is being loaded.

Returns

ConnectionStatus

Inherited from

IBrokerCommon.connectionStatus


editPositionBrackets

editPositionBrackets(positionId, brackets, customFields?): Promise<void>

This method is called if supportPositionBrackets configuration flag is on. It shows a dialog that enables take profit and stop loss editing.

Parameters

NameTypeDescription
positionIdstringis an ID of an existing position to be modified
bracketsBracketsnew Brackets to be set for the position
customFields?CustomInputFieldsValuescustom fields to display in the dialog

Returns

Promise<void>


editTradeBrackets

editTradeBrackets(tradeId, brackets): Promise<void>

This method is called if supportTradeBrackets configuration flag is on. It displays a dialog that enables take profit and stop loss editing.

Parameters

NameTypeDescription
tradeIdstringID of existing trade to be modified
bracketsBracketsnew Brackets to be set for the trade

Returns

Promise<void>


executions

executions(symbol): Promise<Execution[]>

Called by Trading Platform to request executions for the specified symbol

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<Execution[]>

Inherited from

IBrokerCommon.executions


formatter

formatter(symbol, alignToMinMove): Promise<INumberFormatter>

Provide a custom price formatter for the specified symbol.

Parameters

NameTypeDescription
symbolstringsymbol identifier
alignToMinMovebooleanalign formatted number to the minimum movement amount of the symbol

Returns

Promise<INumberFormatter>

Inherited from

IBrokerCommon.formatter


getOrderDialogOptions

getOrderDialogOptions(symbol): Promise<OrderDialogOptions>

Implement this method if you use the standard Order dialog and want to customize it.

Use the symbol parameter to return customization options for a particular symbol.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<OrderDialogOptions>

Inherited from

IBrokerCommon.getOrderDialogOptions


getPositionDialogOptions

getPositionDialogOptions(): PositionDialogOptions

Implement this method if you want to customize the position dialog.

Returns

PositionDialogOptions

Inherited from

IBrokerCommon.getPositionDialogOptions


isTradable

isTradable(symbol): Promise<boolean | IsTradableResult>

This function is required for the Floating Trading Panel. The ability to trade via the panel depends on the result of this function: true or false. You don't need to implement this method if all symbols can be traded.

If you want to show a custom message with the reason why the symbol cannot be traded then you can return an object IsTradableResult.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<boolean | IsTradableResult>

Inherited from

IBrokerCommon.isTradable


leverageInfo

leverageInfo(leverageInfoParams): Promise<LeverageInfo>

This method is called to receive leverageInfo from the broker.

Parameters

NameTypeDescription
leverageInfoParamsLeverageInfoParamsinformation about the specific symbol to provide leverage info for

Returns

Promise<LeverageInfo>


modifyOrder

modifyOrder(order, confirmId?): Promise<void>

Method is called when a user wants to modify an existing order.

Parameters

NameTypeDescription
orderOrderorder information
confirmId?stringis passed if supportPlaceOrderPreview configuration flag is on.

Returns

Promise<void>


orders

orders(): Promise<Order[]>

Called by Trading Platform to request orders

Returns

Promise<Order[]>

Inherited from

IBrokerCommon.orders


ordersHistory

ordersHistory(): Promise<Order[]>

This method is called by the Trading Platform to request orders history. It is expected that returned orders will have a final status (rejected, filled, cancelled).

This method is optional. If you don't support orders history, please set supportOrdersHistory flag to false.

Returns

Promise<Order[]>

Inherited from

IBrokerCommon.ordersHistory


placeOrder

placeOrder(order, confirmId?): Promise<PlaceOrderResult>

Method is called when a user wants to place an order. Order is pre-filled with partial or complete information. This function returns an object with the order id.

Parameters

NameTypeDescription
orderPreOrderorder information
confirmId?stringis passed if supportPlaceOrderPreview configuration flag is on.

Returns

Promise<PlaceOrderResult>

PlaceOrderResult, which should include an orderId


positions

positions(): Promise<Position[]>

Called by Trading Platform to request positions

Returns

Promise<Position[]>

Inherited from

IBrokerCommon.positions


previewLeverage

previewLeverage(leverageSetParams): Promise<LeveragePreviewResult>

This method is called to receive LeveragePreviewResult object which holds messages about the leverage value set by the user.

Parameters

NameTypeDescription
leverageSetParamsLeverageSetParamsleverageSetParams is an object similar to leverageInfoParams, but contains an additional leverage: number field, which holds the leverage value set by the user.

Returns

Promise<LeveragePreviewResult>


previewOrder

previewOrder(order): Promise<OrderPreviewResult>

Returns estimated commission, fees, margin and other information for the order without it actually being placed. The method is called if supportPlaceOrderPreview configuration flag is on.

Parameters

NameTypeDescription
orderPreOrderorder information

Returns

Promise<OrderPreviewResult>


quantityFormatter

quantityFormatter(symbol): Promise<INumberFormatter>

Provide a custom quantity formatter for the specified symbol.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<INumberFormatter>

Inherited from

IBrokerCommon.quantityFormatter


reversePosition

reversePosition(positionId): Promise<void>

This method is called if supportNativeReversePosition configuration flag is on. It allows to reverse the position by id.

Parameters

NameTypeDescription
positionIdstringposition

Returns

Promise<void>


setLeverage

setLeverage(leverageSetParams): Promise<LeverageSetResult>

This method is called to send user's leverage value to the broker. The value should be verified and corrected on the broker's side if required, and sent back in the response.

Parameters

NameTypeDescription
leverageSetParamsLeverageSetParamsleverageSetParams is an object similar to leverageInfoParams, but contains an additional leverage: number field, which holds the leverage value set by the user.

Returns

Promise<LeverageSetResult>


spreadFormatter

spreadFormatter(symbol): Promise<INumberFormatter>

Provide a custom spread formatter for the specified symbol.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<INumberFormatter>

Inherited from

IBrokerCommon.spreadFormatter


subscribeDOM

subscribeDOM(symbol): void

Library is requesting that realtime DOM (Depth of Market) updates should be supplied for this symbol

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

void


subscribeEquity

subscribeEquity(): void

The method should be implemented if you use the standard Order dialog and support stop loss. Equity is used to calculate Risk in Percent.

Once this method is called the broker should provide equity (Balance + P/L) updates via IBrokerConnectionAdapterHost.equityUpdate method.

Returns

void


subscribeMarginAvailable

subscribeMarginAvailable(symbol): void

The method should be implemented if you use the standard Order dialog and want to show the margin meter.

Once this method is called the broker should provide margin available updates via IBrokerConnectionAdapterHost.marginAvailableUpdate method.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

void


subscribePipValue

subscribePipValue(symbol): void

The method should be implemented if you use a standard Order dialog. pipValues is displayed in the Order info and it is used to calculate the Trade Value and risks. If this method is not implemented then pipValue from the symbolInfo is used in the order panel/dialog.

Once this method is called the broker should provide pipValue updates via IBrokerConnectionAdapterHost.pipValueUpdate method.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

void


symbolInfo

symbolInfo(symbol): Promise<InstrumentInfo>

Called by the internal Order dialog, DOM panel, and floating trading panel to get symbol information.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<InstrumentInfo>

Inherited from

IBrokerCommon.symbolInfo


trades

trades(): Promise<Trade[]>

Called by Trading Platform to request trades

Returns

Promise<Trade[]>

Inherited from

IBrokerCommon.trades


unsubscribeDOM

unsubscribeDOM(symbol): void

Library is notifying that realtime DOM (Depth of Market) updates are no longer required for this symbol.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

void


unsubscribeEquity

unsubscribeEquity(): void

The method should be implemented if you use the standard Order dialog and support stop loss.

Once this method is called the broker should stop providing equity updates.

Returns

void


unsubscribeMarginAvailable

unsubscribeMarginAvailable(symbol): void

The method should be implemented if you use the standard Order dialog want to show the margin meter.

Once this method is called the broker should stop providing margin available updates.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

void


unsubscribePipValue

unsubscribePipValue(symbol): void

The method should be implemented if you use a standard Order dialog and implement subscribePipValue.

Once this method is called the broker should stop providing pipValue updates.

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

void