Skip to main content
Version: latest

IBrokerConnectionAdapterHost

Interface

The Trading Host is an API for interaction between the Broker API and the library code related to trading. Its main purpose is to receive information from your backend server where trading logic is implemented and provide updates to the library. Refer to the Core trading concepts article for more information.

Properties

factory

Broker Connection Adapter Factory object

Type

IBrokerConnectionAdapterFactory

Methods

activateBottomWidget

Deprecated

This method will be removed from the library in the next major version. Please use setAccountManagerVisibilityMode instead. Activate bottom widget

Signature

activateBottomWidget() => Promise<void>

Returns

Promise<void>


connectionStatusUpdate

Triggers a connection status update throughout the broker by reinvoking IBrokerCommon.connectionStatus.

Signature

connectionStatusUpdate(status: ConnectionStatus, info?: DisconnectionInfo) => void

Parameters

NameTypeDescription
statusConnectionStatusnew connection status to propagate internally to the host
info?DisconnectionInfoadditional information to provide when entering a disconnected status

Returns

void


cryptoBalanceUpdate

Call this method when a broker connection has received a balance update. This method is required by the crypto Order Ticket. It should be implemented when the BrokerConfigFlags.supportBalances flag is set to true in SingleBrokerMetaInfo.configFlags.

Signature

cryptoBalanceUpdate(symbol: string, balance: CryptoBalance) => void

Parameters

NameTypeDescription
symbolstringsymbol ID
balanceCryptoBalanceupdated crypto balance

Returns

void


currentAccountUpdate

Call this method when user account has been changed synchronously. The terminal will re-request all displayed information.

Signature

currentAccountUpdate() => void

Returns

void


defaultContextMenuActions

Provides default buy/sell, show properties actions to be returned as a default by IBrokerCommon.chartContextMenuActions.

Signature

defaultContextMenuActions(context: TradeContext, params?: DefaultContextMenuActionsParams) => Promise<ActionMetaInfo[]>

Parameters

NameTypeDescription
contextTradeContexttrade context
params?DefaultContextMenuActionsParamsoptional parameters

Returns

Promise<ActionMetaInfo[]>


defaultDropdownMenuActions

Provides default dropdown list of actions. You can use default actions in IBrokerConnectionAdapterHost.setButtonDropdownActions

Signature

defaultDropdownMenuActions(options?: Partial<DefaultDropdownActionsParams>) => ActionMetaInfo[]

Parameters

NameTypeDescription
options?Partial<DefaultDropdownActionsParams>options for the dropdown menu actions

Returns

ActionMetaInfo[]


defaultFormatter

Generates and returns the default value formatter for the symbol

Signature

defaultFormatter(symbol: string, alignToMinMove: boolean) => Promise<INumberFormatter>

Parameters

NameTypeDescription
symbolstringsymbol identifier
alignToMinMovebooleanwhether the formatted number should be aligned to minimum movement for the symbol

Returns

Promise<INumberFormatter>


domPanelVisibility

Returns whether DOM Panel is visible or not.

Signature

domPanelVisibility() => IWatchedValue<boolean>

Returns

IWatchedValue<boolean>


domUpdate

Update the Depth of Market data for a specified symbol.

Signature

domUpdate(symbol: string, equity: DOMData) => void

Parameters

NameTypeDescription
symbolstringsymbol identifier
equityDOMDataDepth of Market data

Returns

void


equityUpdate

Call this method when a broker connection has received an equity update. This method is required by the standard Order Ticket to calculate risks.

Signature

equityUpdate(equity: number) => void

Parameters

NameTypeDescription
equitynumberupdated equity

Returns

void


executionUpdate

Call this method when an execution is added.

Signature

executionUpdate(execution: Execution) => void

Parameters

NameTypeDescription
executionExecutionexecution which was added

Returns

void


getAccountManagerVisibilityMode

Method to retrieve the current visibility mode of the Account Manager.

Signature

getAccountManagerVisibilityMode() => IWatchedValueReadonly<BottomWidgetBarMode>

Returns

IWatchedValueReadonly<BottomWidgetBarMode>


getOrderTicketSetting

Retrieves the current value for a specified Order Ticket setting in the ellipsis menu.

Signature

getOrderTicketSetting<K>(settingName: K) => Promise<OrderTicketSettings[K]>

Type parameters

NameTypeDescription
Kextends keyof OrderTicketSettingsA key of the OrderTicketSettings type.

Parameters

NameTypeDescription
settingNameKThe name of the Order Ticket setting.

Returns

A promise that resolves with the value of the specified setting.

Promise<OrderTicketSettings[K]>


getQty

Returns the quantity for a given symbol.

Signature

getQty(symbol: string) => Promise<number>

Parameters

NameTypeDescription
symbolstringsymbol

Returns

  • quantity for the given symbol

Promise<number>


getSymbolMinTick

Returns symbol minTick.

Signature

getSymbolMinTick(symbol: string) => Promise<number>

Parameters

NameTypeDescription
symbolstringsymbol identifier

Returns

Promise<number>


individualPositionPLUpdate

Call this method when a broker connection has received an individual position PL update.

Signature

individualPositionPLUpdate(individualPositionId: string, pl: number) => void

Parameters

NameTypeDescription
individualPositionIdstringID of the individual position
plnumberupdated profit / loss for the individual position

Returns

void


individualPositionPartialUpdate

Call this method when an individual position has not changed, but fields that you added to the individual position object to display in the Account Manager have changed.

Signature

individualPositionPartialUpdate(id: string, changes: Partial<IndividualPosition>) => void

Parameters

NameTypeDescription
idstringID of the updated individual position
changesPartial<IndividualPosition>changes to the individual position object

Returns

void


individualPositionUpdate

Call this method when an individual position is added or changed.

Signature

individualPositionUpdate(individualPosition: IndividualPosition, isHistoryUpdate?: boolean) => void

Parameters

NameTypeDescription
individualPositionIndividualPositionupdated individual position
isHistoryUpdate?booleanwhether the change is a history update

Returns

void


marginAvailableUpdate

Call this method when a broker connection has received a margin available update. This method is required by the standard Order Ticket to display the margin meter. This method should be used when BrokerConfigFlags.supportMargin is set to true in SingleBrokerMetaInfo.configFlags. The Trading Platform subscribes to margin available updates using IBrokerWithoutRealtime.subscribeMarginAvailable.

Signature

marginAvailableUpdate(marginAvailable: number) => void

Parameters

NameTypeDescription
marginAvailablenumberupdated available margin

Returns

void


numericFormatter

Generates and returns a number formatter with the desired decimal places

Signature

numericFormatter(decimalPlaces?: number) => Promise<INumberFormatter>

Parameters

NameTypeDescription
decimalPlaces?numberdecimal places

Returns

Promise<INumberFormatter>


orderPanelVisibility

Returns whether the order panel is visible or not.

Signature

orderPanelVisibility() => IWatchedValue<boolean>

Returns

IWatchedValue<boolean>


orderPartialUpdate

Call this method when an order is not changed, but the fields that you added to the order object to display in the Account Manager have changed. It should be used only if you want to display custom fields in the Account Manager.

Signature

orderPartialUpdate(id: string, orderChanges: Partial<Order>) => void

Parameters

NameTypeDescription
idstringorder id
orderChangesPartial<Order>changes made to the order object

Returns

void


orderUpdate

Call this method to notify the chart that it needs to update information after an order is added or changed.

Signature

orderUpdate(order: Order) => void

Parameters

NameTypeDescription
orderOrderorder which was added or changed

Returns

void


patchConfig

Patch changes into the current broker configuration

Signature

patchConfig(config: Partial<BrokerConfigFlags>) => void

Parameters

NameTypeDescription
configPartial<BrokerConfigFlags>partial configuration changes to apply

Returns

void


pipValueUpdate

Call this method when a broker connection has a pipValue update. The library subscribes to pipValue updates using IBrokerWithoutRealtime.subscribePipValue.

Signature

pipValueUpdate(symbol: string, pipValues: PipValues) => void

Parameters

NameTypeDescription
symbolstringsymbol with updated pip values
pipValuesPipValuesupdated pip values

Returns

void


plUpdate

Call this method when a broker connection has received a PL update. Use this method when the BrokerConfigFlags.supportPLUpdate flag is set to true in SingleBrokerMetaInfo.configFlags.

Signature

plUpdate(positionId: string, pl: number) => void

Parameters

NameTypeDescription
positionIdstringID of the position
plnumberupdated profit / loss value

Returns

void


positionPartialUpdate

Call this method when a position is not changed, but the fields that you added to the position object to display in the Account Manager have changed. It should be used only if you want to display custom fields in the Account Manager.

Signature

positionPartialUpdate(id: string, positionChanges: Partial<Position>) => void

Parameters

NameTypeDescription
idstringid of the position
positionChangesPartial<Position>changes to the position object

Returns

void


positionUpdate

Call this method when a position is added or changed.

Signature

positionUpdate(position: Position, isHistoryUpdate?: boolean) => void

Parameters

NameTypeDescription
positionPositionposition which was added or changed
isHistoryUpdate?booleanwhether the change is a history update

Returns

void


quantityFormatter

Generates and returns a quantity formatter with the desired decimal places

Signature

quantityFormatter(decimalPlaces?: number) => Promise<INumberFormatter>

Parameters

NameTypeDescription
decimalPlaces?numberdecimal places

Returns

Promise<INumberFormatter>


realtimeUpdate

Trading quote realtime update

Signature

realtimeUpdate(symbol: string, data: TradingQuotes) => void

Parameters

NameTypeDescription
symbolstringsymbol identifier
dataTradingQuotesrealtime updated data for the symbol quotes

Returns

void


sellBuyButtonsVisibility

Returns whether the buy/sell buttons are visible or not.

Signature

sellBuyButtonsVisibility() => IWatchedValue<boolean>

Returns

IWatchedValue<boolean>


setAccountManagerVisibilityMode

Method to set a new visibility mode for the Account Manager.

Signature

setAccountManagerVisibilityMode(mode: BottomWidgetBarMode) => void

Parameters

NameType
modeBottomWidgetBarMode

Returns

void


setDurations

Set expiration durations

Signature

setDurations(durations: OrderDurationMetaInfo[]) => void

Parameters

NameTypeDescription
durationsOrderDurationMetaInfo[]Expiration options for orders

Returns

void


setOrderTicketSetting

Updates the value of a specified Order Ticket setting in the ellipsis menu.

Signature

setOrderTicketSetting<K>(settingName: K, value: OrderTicketSettings[K]) => Promise<void>

Type parameters

NameTypeDescription
Kextends keyof OrderTicketSettingsA key of OrderTicketSettings type.

Parameters

NameTypeDescription
settingNameKThe name of the Order Ticket setting to be updated.
valueOrderTicketSettings[K]The new value to be assigned to the setting.

Returns

A promise that resolves when the setting is successfully updated.

Promise<void>


setQty

Sets the quantity for a given symbol.

Signature

setQty(symbol: string, quantity: number) => void

Parameters

NameTypeDescription
symbolstringsymbol
quantitynumberquantity to update

Returns

void


showCancelBracketsDialog

Shows the cancel brackets dialog

Signature

showCancelBracketsDialog(orderId: string, handler: Function) => Promise<void>

Parameters

NameTypeDescription
orderIdstringid of order
handler() => Promise<void>cancel brackets confirmation handler (called when brackets should be cancelled)

Returns

Promise<void>


showCancelMultipleBracketsDialog

Shows the cancel brackets dialog for multiple brackets

Signature

showCancelMultipleBracketsDialog(orderId: string, handler: Function) => Promise<void>

Parameters

NameTypeDescription
orderIdstringid of order
handler() => Promise<void>cancel brackets confirmation handler (called when brackets should be cancelled)

Returns

Promise<void>


showCancelMultipleOrdersDialog

Shows the cancel Order Ticket for multiple orders

Signature

showCancelMultipleOrdersDialog(symbol: string, side: Side, qty: number, handler: Function) => Promise<void>

Parameters

NameTypeDescription
symbolstringsymbol for which to cancel orders
sideSideside of the order
qtynumberquantity of the order
handler() => Promise<void>cancel orders confirmation handler (called when orders should be cancelled)

Returns

Promise<void>


showCancelOrderDialog

Shows the cancel Order Ticket for specified order

Signature

showCancelOrderDialog(orderId: string, handler: Function) => Promise<void>

Parameters

NameTypeDescription
orderIdstringid of order to potentially cancel
handler() => Promise<void>cancel order confirmation handler (called when order should be cancelled)

Returns

Promise<void>


showConfirmDialog

Displays a confirmation dialog to a user and returns a Promise to the result.

Signature

showConfirmDialog(title: string, content: string | string[], mainButtonText?: string, cancelButtonText?: string, showDisableConfirmationsCheckbox?: boolean) => Promise<boolean>

Parameters

NameTypeDescription
titlestringtitle of the confirmation dialog
contentstring | string[]content for the dialog
mainButtonText?stringtext for the main button (true result)
cancelButtonText?stringtext for the cancel button (false result)
showDisableConfirmationsCheckbox?booleanshow disable confirmations checkbox within the dialog

Returns

Promise<boolean>


showMessageDialog

Displays a message dialog to a user.

Signature

showMessageDialog(title: string, text: string, textHasHTML?: boolean) => void

Parameters

NameTypeDescription
titlestringtitle of the message dialog
textstringmessage
textHasHTML?booleanwhether message text contains HTML

Returns

void


showNotification

Shows notification message

Signature

showNotification(title: string, text: string, notificationType?: NotificationType) => void

Parameters

NameTypeDescription
titlestringnotification title
textstringnotification content
notificationType?NotificationTypetype of notification (default: NotificationType.Error)

Returns

void


showOrderDialog

Optional

Shows the Order Ticket

Signature

showOrderDialog<T>(order: T, focus?: OrderTicketFocusControl) => Promise<boolean>

Type parameters

NameType
Textends PreOrder

Parameters

NameTypeDescription
orderTorder to show in the dialog
focus?OrderTicketFocusControlinput control to focus on when dialog is opened

Returns

Promise<boolean>


showPositionBracketsDialog

Shows the position brackets dialog

Signature

showPositionBracketsDialog(position: Position | IndividualPosition, brackets: Brackets, focus: OrderTicketFocusControl) => Promise<boolean>

Parameters

NameTypeDescription
positionPosition | IndividualPositionposition or individual position
bracketsBracketsbrackets for the position or individual position
focusOrderTicketFocusControlinput control to focus on when dialog is opened

Returns

Promise<boolean>


showReversePositionDialog

Shows reverse position dialog

Signature

showReversePositionDialog(position: string, handler: Function) => Promise<boolean>

Parameters

NameTypeDescription
positionstringposition to be reversed
handler() => Promise<boolean>reverse position confirmation handler (called when the position should be reversed)

Returns

Promise<boolean>


showSimpleConfirmDialog

Displays a simple confirmation dialog to a user and returns a Promise to the result.

Signature

showSimpleConfirmDialog(title: string, content: string | string[], mainButtonText?: string, cancelButtonText?: string, showDisableConfirmationsCheckbox?: boolean) => Promise<boolean>

Parameters

NameTypeDescription
titlestringtitle of the confirmation dialog
contentstring | string[]content for the dialog
mainButtonText?stringtext for the main button (true result)
cancelButtonText?stringtext for the cancel button (false result)
showDisableConfirmationsCheckbox?booleanshow disable confirmations checkbox within the dialog

Returns

Promise<boolean>


showTradingProperties

Shows trading properties

Signature

showTradingProperties() => void

Returns

void


silentOrdersPlacement

Returns if orders can be sent to the broker without showing the order ticket.

Signature

silentOrdersPlacement() => IWatchedValue<boolean>

Returns

IWatchedValue<boolean>


subscribeSuggestedQtyChange

Adds a callback to be executed whenever there's a change of quantity for a given symbol.

It's the user's responsibility to manage the unsubscription of any added listener

Signature

subscribeSuggestedQtyChange(symbol: string, listener: SuggestedQtyChangedListener) => void

Parameters

NameTypeDescription
symbolstringsymbol to which the callback will be linked to
listenerSuggestedQtyChangedListenercallback

Returns

void


unsubscribeSuggestedQtyChange

Remove a previously added callback from the list.

Signature

unsubscribeSuggestedQtyChange(symbol: string, listener: SuggestedQtyChangedListener) => void

Parameters

NameTypeDescription
symbolstringsymbol to remove the callback from
listenerSuggestedQtyChangedListenercallback to be removed

Returns

void