MetaTrader 5 build 2815: Access to the Depth of Market from Python, revamped Debugger, and Profiler improvements
The Task Manager enables monitoring of resources consumed by the platform. You can view the amount of memory consumed by charts, CPU resources used by Expert Advisors and other performance metrics. If your platform performance slows down, you can easily detect and fix the problem
26 February 2021
Added ability to access Depth of Market data via the Python API.
Three new functions allow quick obtaining of data for statistical
calculations and machine learning tasks, which can be implemented using a
plethora of out-of-the-box Python libraries.
market_book_add — subscribes the MetaTrader 5 terminal to receive events related to changes in the Depth of Market for the specified symbol.
market_book_get — returns a tuple from BookInfo containing the Depth of Market records for the specified symbol.
market_book_release — cancels MetaTrader 5 terminal subscription to events related to changes in the Depth of Market for the specified symbol.
The maximum length of Push messages has been increased from 256 to 1024 characters. Now, you can send more information from your MQL5 programs on mobile devices.
Added a preliminary version of the Task Manager, which can be called by pressing the F2 key.
The Task Manager enables monitoring of resources consumed by the
platform. You can view the amount of memory consumed by charts, CPU
resources used by Expert Advisors and other performance metrics. If your
platform performance slows down, you can easily detect and fix the
Enhanced Subscriptions service. A special indication has been added for symbols having delayed quotes:
Symbols in Market Watch are marked with a clock icon, and the delay value is displayed in the tooltip
Data delay notification is displayed on charts
Fixed display of the Subscriptions list when there is no trading account connection.
Fixed links in emails and newsletters. All links now open in the
default browser. Previously, links opened only in Internet Explorer.
Fixed connections from the WebRequest function to hosts with IPv6 addresses and Cloudflare protection.
Improved functionality and responsiveness of the VPS service.
Improved operation under Wine and MacOS/Crossover, including the version for macOS Big Sur with the M1 processor.
Fixed error in the ArrayPrint function. The function could occasionally fail to print arrays.
Optimized file operations performed by File* functions. Now, file reading and writing operations run much faster.
Removed the restriction requiring the specification of size for the
second, third and fourth dimensions of a dynamic array, when the array
is used as a function parameter. This increases code reuse and
void func(int &arr[ ][ ][ ][ ])
Fixed ArrayBsearch function operation. The function could return an incorrect index of the found element during a binary search.
More new features have become available in the revamped debugger.
Arrays are now displayed in the observation window in accordance with the sorting set by ArraySetAsSeries.
Added support for local static variables.
Fixed display of the specified array element value.
Fixed handling of 'static' class fields.
Other improvements for more accurate and reliable debugging.
Added option "Enable optimizations in profiling".
Code optimization mode can be disabled in order to include more details
in the profiling report. Code speed without optimization can be several
times slower, but this mode provides a wider code coverage. Please note
that with optimization code bottlenecks can be imprecise. A milder profiling mode can be set by disabling the "Enable inlining in profiling".