💹 All content on this page applies to the Trading Terminal only.
Trading Host is an API for interaction between Broker API and the Chart Trading Subsystem. Its main purpose is to exchange information between our charts and your trading adapter. In terms of JS
, it is an object
with a set of functions. Here is the list of Hosts's methods.
order
to be placed or modifiedfocus
- Focus constant.
Shows standard Order Dialog to create or modify an order and executes handler if Buy/Sell/Modify is pressed.
orderId
ID of an order to be cancelledhandler
is a function to process cancellation. It should return Promise
Shows a confirmation dialog and executes handler if YES/OK is pressed.
symbol
of orders to be cancelledside
- side of orders to be cancelledqty
- amount of orders to be cancelledhandler
is a function to process cancellation. It should return Promise
Shows a confirmation dialog and executes handler if YES/OK is pressed.
showReversePositionDialog(position, handler) : Promise
position
to be reversedhandler
is a function to process position reverse. It should return a Promise
Shows a confirmation dialog and executes handler if YES/OK is pressed.
position
to be modifiedbrackets
(optional) new bracketsfocus
- Focus constant.
Shows a default edit brackets dialog and executes handler if MODIFY is pressed.
Opens the bottom panel and switches the tab to Trading.
Shows the properties dialog, switches current tab to Trading.
Displays a notification. Type can be 1
- success or 0
- error.
Triggers show active orders.
Returns a Formatter with the specified number of decimal places.
Returns a default Formatter formatter for the specified instrument. This formatter is created based on SymbolInfo.
By default, the formatter rounds a price to the minimum price movement, but sometimes you may want to disable this rounding. For example, the average price of a position should not be rounded to the minimum price movement. Let’s assume that we placed one trade at 100.25
and another trade at 100.50
. The average price of the position is going to be 100.375
. If you get a formatter using defaultFormatter(symbol)
, then this formatter will round this price to 100.38
, but if you set the second argument to false
, then the price will be rounded to 100.50
.
factory
is an object property. Its functions are described below.
Creates a Delegate object.
Creates a WatchedValue object.
Creates a price Formatter. The arguments of this function are described in another article.
Displays a message dialog to a user.
showConfirmDialog(title, content, mainButtonText?, cancelButtonText?, showDisableConfirmationsCheckbox?): Promise<boolean>
Displays a confirmation dialog to a user and returns a Promise to the result.
showSimpleConfirmDialog(title, content, mainButtonText?, cancelButtonText?, showDisableConfirmationsCheckbox?): Promise<boolean>
Displays a simple confirmation dialog to a user and returns a Promise to the result.
sellBuyButtonsVisibility: WatchedValue
Returns whether the buy/sell buttons are visible or not.
domVisibility: WatchedValue
Returns whether DOM is visible or not.
orderPanelVisibility: WatchedValue
Returns whether the order panel is visible or not.
showPricesWithZeroVolume: WatchedValue
Returns whether levels with empty volume (between min and max volume levels) are collapsed or not.
silentOrdersPlacement: WatchedValue
Returns if orders can be sent to the broker without showing the order ticket.
Bottom Trading Panel has a button with a list of dropdown items. This method can be used to replace existing items.
actions
is an array of ActionMetaInfo, each of them representing one dropdown item.
Provides default buy/sell, show properties actions to be returned as a default by chartContextMenuActions.
Provides default dropdown list of actions. You can use default actions in setButtonDropdownActions.
You can add/remove default action from the result using options
:
tradingProperties
: boolean;showHowToUse
: boolean;restoreConfirmations
: boolean;
Returns symbol minTick
.
The usage of these methods is required to notify the chart that it needs to update information.
orderUpdate(order)
Call this method when an order is added or changed.
orderPartialUpdate(order)
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 are changed. It should be used only if you want to display custom fields in the Account Manager.
positionUpdate (position)
Call this method when a position is added or changed.
positionPartialUpdate (position)
Call this method when a position is not changed, but fields that you added to the position object to display in the Account Manager are changed. It should be used only if you want to display custom fields in the Account Manager.
executionUpdate(execution)
Call this method when an execution is added.
Call this method when user account has been changed synchronously. The terminal will re-request all displayed information.
Call this method when a broker connection has received a PL update. This method should be used when supportPLUpdate
flag is set in configFlags
.
Call this method when a broker connection has received an equity update. This method is required by the standard Order Dialog to calculate risks.
Call this method when a broker connection has received a margin available update. This method is required by the standard Order Dialog to display the margin meter. This method should be used when supportMargin
flag is set in configFlags
. The Trading Terminal subscribes to margin available updates using subscribeMarginAvailable.
Call this method when a broker connection has received a balance update. This method is required by the crypto Order Dialog. It should be implemented when supportBalances
flag is set in configFlags
.
tradeUpdate (trade)
Call this method when a trade is added or changed.
tradePartialUpdate (trade)
Call this method when a trade is not changed, but fields that you added to the trade object to display in the Account Manager are changed.
Call this method when a broker connection has received a trade PL update.
Call this method when a broker connection has a pipValue
update. The library subscribes to pipValue
updates using subscribePipValue.
pipValues
is an object with the following fields:
buyPipValue
- value of 1 pip if you buysymbol
sellPipValue
- value of 1 pip if you sellsymbol