# Trading features configuration

You can configure trading features using the [`broker_config`] property of the [Widget Constructor].
This property is primarily used to specify the `configFlags` object, which contains a list of [configuration flags].
Some flags only enable or disable trading elements in the UI,
while others activate more advanced features that require corresponding methods to be implemented in the [Broker API].

Consider the [Widget Constructor] with the following properties.

```javascript
const datafeed = new Datafeeds.UDFCompatibleDatafeed("https://demo-feed-data.tradingview.com");
new TradingView.widget({
    container: "chartContainer",
    locale: "en",
    library_path: "charting_library/",
    datafeed: datafeed,
    symbol: "AAPL",
    interval: "1D",
    broker_factory: function(host) { return new Brokers.BrokerDemo(host, datafeed); },
    // highlight-start
    broker_config: {
        configFlags: {
            supportEditAmount: false,
            supportPositionNetting: true,
        },
    },
    // highlight-end
})
```

In the code sample, the [`supportEditAmount`] flag disables the order quantity control in the [Order Ticket] when users modify orders.
This flag only affects the UI.

The [`supportPositionNetting`] flag enables [position netting].
Once activated, this flag adds two new pages to the [Account Manager] within *Positions*: *Individual Positions* and *Net Positions*.
However, in addition to enabling `supportPositionNetting`, you should also implement the following methods:

- [`individualPositions`] for handling individual positions
- [`positions`] for handling net positions

[Account Manager]: https://charting-library-docs.xstaging.tv/latest/trading_terminal/account-manager.md
[Broker API]: https://charting-library-docs.xstaging.tv/latest/trading_terminal/trading-concepts.md#broker-api
[`broker_config`]: https://charting-library-docs.xstaging.tv/latest/api/interfaces/Charting_Library.TradingTerminalWidgetOptions#broker_config
[configuration flags]: https://charting-library-docs.xstaging.tv/latest/api/interfaces/Charting_Library.BrokerConfigFlags
[`individualPositions`]: https://charting-library-docs.xstaging.tv/latest/api/interfaces/Charting_Library.IBrokerTerminal#individualpositions
[Order Ticket]: https://charting-library-docs.xstaging.tv/latest/trading_terminal/order-ticket.md
[position netting]: https://charting-library-docs.xstaging.tv/latest/trading_terminal/trading-concepts/positions.md#position-netting
[`positions`]: https://charting-library-docs.xstaging.tv/latest/api/interfaces/Charting_Library.IBrokerTerminal#positions
[`supportEditAmount`]: https://charting-library-docs.xstaging.tv/latest/api/interfaces/Charting_Library.BrokerConfigFlags#supporteditamount
[`supportPositionNetting`]: https://charting-library-docs.xstaging.tv/latest/api/interfaces/Charting_Library.BrokerConfigFlags#supportpositionnetting
[Widget Constructor]: https://charting-library-docs.xstaging.tv/latest/configuration/Widget-Constructor.md#trading-platform-parameters

---

## Sitemap

- [All documentation pages](https://charting-library-docs.xstaging.tv/llms.txt)
- [Full page map with headings](https://charting-library-docs.xstaging.tv/docs_map.md)
