MetaTrader 5 update build 2650: background chart loading and code profiler improvements


19 October 2020

The recent MetaTrader 5 update delivers new functionality and further enhances user experience. The most noticeable changes are described below.

MetaTrader 5 update build 2650

Terminal: New Data Downloading Option

In order to save traffic, the platform downloads symbol price history only when the relevant data is requested, for example, when the price chart is opened or when testing is launched. However, waiting for data to download may not be convenient for actively used symbols.

Enable the new option "Preload chart data for open positions and orders", and the charts of the symbols for which you have open positions or pending orders, will be updated in the background mode. The relevant data will be immediately available for analysis whenever you open the symbol chart.

Code Profiler: New Features and Inlining Control

With the updated Profiler, trading robot developers can accurately determine the execution time of each MQL program section. Performance data can assist in creating efficient and fast-running solutions. In contrast to the previously used Profiler which significantly modified the program, the new version uses an unchanged executable code for profiling.

The Profiler now uses the Sampling method: MQL program execution is interrupted every millisecond to analyze which function part is being executed at that moment. The analysis reflects the share of each function in the total code execution time.

Performance metrics (in units and percentage):

  • Total CPU — how often the function was used.
  • Self CPU — how much processor time was utilized for the specific function execution. This variable is crucial in identifying MQL program bottlenecks.

Code Profiler: New Features

Another update concerns the function inlining during profiling. Inlining (adding a function code directly to its call site) enables program performance acceleration, but it makes function profiling difficult. Now, you can disable the inlining feature if you need a report on "pure" functions.

Code Profiler: Inlining Control

Tester: Improved Custom Settings

The update provides revised options for working with custom settings. For example, when the "Use custom settings" option is disabled, all other settings in the dialog are deactivated to avoid misleading interpretation.

Tester: Improved Custom Settings

Fixed calculation of custom commissions: now, commissions can be enabled by specifying the symbol name instead of the entire path. Also, the update features some minor bug fixes and interface improvements, including rearranged tabs and optimized table column width.

Download MetaTrader 5