Financial instruments and Market Watch

MetaTrader 5 allows users to analyze and trade financial instruments (a.k.a. symbols or tickers), which form the basis of almost all terminal subsystems. Charts, indicators, and the price history of quotes exist in relation to trading symbols. The main functionality of the terminal is built on financial instruments such as trading orders, deals, control of margin requirements, and trading account history.

Via the terminal, brokers deliver to traders a specified list of symbols, from which each user chooses the preferred ones, forming the Market Watch. The Market Watch window determines the symbols for which the terminal requests online quotes and allows you to open charts and view the history.

The MQL5 API provides similar software tools that allow you to view and analyze the characteristics of all symbols, add them to the Market Watch, or exclude them from there.

In addition to standard symbols with information provided by brokers, MetaTrader 5 makes it possible to create custom symbols: their properties and price history can be loaded from arbitrary data sources and calculated using formulas or MQL programs. Custom symbols also participate in the Market Watch and can be used for testing strategies and technical analysis, however, they also have a natural limitation — they cannot be traded online using regular MQL5 API tools, since these symbols are not available on the server. Custom symbols will be reviewed in a separate chapter, in the last, seventh part of the book.

A little while ago, in the relevant chapters, we have already touched on time series with price data of individual symbols, including history paging using an example with indicators. All this functionality actually assumes that the corresponding symbols are already enabled in the Market Watch. This is especially true for multicurrency indicators and Expert Advisors that refer not only to the working symbol of the chart but also to other symbols. In this chapter, we will learn how the Market Watch list is managed from MQL programs.

The chapter on charts has already described some of the symbol properties made available through basic property-getter functions of a current chart (Point, Digits) since the chart cannot work without the symbol associated with it. Now we will study most of the properties of symbols, including their specification. Their full set can be found in the MQL5 documentation on the website.