MetaTrader 5 Build 2940: Positioning of MQL5 Services showcases in the workspace and updated design

Trading services, including Market , Signals and Virtual Hosting are now conveniently displayed in the platform's main working area

21 May 2021


  1. Trading services, including Market, Signals and Virtual Hosting are now conveniently displayed in the platform's main working area.

    In earlier versions, MQL5 Services purchasing areas were located in the small Toolbox window below the main window. The new placement enables the display of fully featured showcases with convenient purchasing options. The removal of unnecessary tabs from the lower area provides more space for other platform functions.

    Access to additional services does not interfere with the major functions, such as trading and chart analysis.

    • Service tabs are located at the end of the bar, after all chart tabs.
    • Unused service windows can be closed. To re-open them, use the Navigator, the toolbar or the "Services" menu.

    We have also completely redesigned the services. The design has become more elegant and lightweight. Signals feature additional data, which were previously available only via the website showcase: a polar diagram with the main characteristics, reliability and activity metrics and other variables.

  2. Added support for IPv6 addresses.

    IPv4 which is used in every network was created more than 30 years ago. It contains IP addresses of 32 bits, which are represented as four 8-bit numbers separated by dots. This algorithm produces more than four billion unique IP addresses. However, the rapidly growing number of users and devices has accelerated the depletion of the pool of available addresses.

    To avoid the depletion problem, some products feature additional support for the modern IPv6 standard. This protocol uses a 128-bit address, represented as x:x:x:x:x:x:x:x, where each x is a hexadecimal value of six 16-bit address elements. Theoretically, this format allows 5 x 10 ^ 28 unique addresses. In addition to an extensive address space, this protocol has other advantages over the older version. For further details please refer to specialized articles.

    The MetaTrader 5 platform is fully IPv6-ready. If your broker or provider switches to the new protocol, the protocol support will be seamlessly enabled in the platform, with no additional action required from your end.

  3. We continue implementing the Task Manager functionality presented in build 2815. We have added an explicit indication for charts, on which MQL program debugging or profiling is running.

  4. Implemented faster platform launching under Wine on macOS and Linux computers. General optimization and bug fixes:
    • Improved display of menus, toolbars and dialog boxes.
    • Fixed errors in displaying the "Market", "Signals" and "VPS" sections. In particular, we have fixed the loading of product logos on the "Market" showcase.
    • Updated package for easy MetaTrader 5 installation on macOS computers. With this package, the platform can be installed similarly to any other application.
      The package includes additional components which enable a more stable and a faster operation. All package users are strongly advised to reinstall MetaTrader 5 by downloading the latest version from

    If you are using CrossOver, please completely reinstall MetaTrader 5 to obtain the latest 64-bit platform version.
  5. Fixed "Ctrl+F9" keyboard shortcut action. It activates the Trade tab in the Toolbox.


  1. We continue limiting the circulation of older technologies, including 32-bit components.
    • 32-bit terminals are no longer allowed to load programs from the Market.
    • 32-bit terminals cannot connect to the hosting service.
    • The 32-bit MetaEditor version does not support additional file protection via MQL5 Cloud Protector.
    • MQL5 programs compiled under old MetaEditor versions (released 5 years ago or more) cannot run in the new terminal version.

    Support for the 32-bit platform version was discontinued a year ago, after the release of build 2361. We strongly recommend upgrading to the 64-bit MetaTrader 5 version in order to access all the platform's features without any limitation.
    Furthermore, we recommend all Sellers, who have previously uploaded 32-bit product versions to the Market, to recompile them using the latest 64-bit MetaEditor and to upload the new versions. The ability to run 32-bit MQL5 programs in terminals will be completely disabled soon.

  2. Added support for operations with complex numbers.

    Added new built-in type "complex".
    struct complex
       double             real;   // Real part
       double             imag;   // Imaginary part
    The "complex" type can be passed by value as a parameter for MQL5 functions (in contrast to ordinary structures, which are only passed by reference). For functions imported from DLLs, the "complex" type must be passed only by reference.

    The 'i' suffix is used to describe complex constants:
    complex square(complex c)
    void OnStart()
       Print(square(1+2i));  // A constant is passed as a parameter
    // "(-3,4)" will be output, which is a string representation of the complex number 
    Only simple operations are currently available for complex numbers: =, +, -, *, /, +=, -=, *=, /=, ==,!=.

    Support for additional mathematical functions will be added later, enabling the calculation of the absolute value, sine, cosine and others.

  3. New error code TRADE_RETCODE_HEDGE_PROHIBITED — opening of a position or placing of a pending order is not allowed because hedge positions are prohibited. The error is returned if a user tries to execute a trading operation in case the hedging is disabled for the account and an opposite order or position already exists for the same symbol.


  1. Fixed debugging and profiling termination in non-visual mode.
  2. Fixed indicator profiling on real data. Such profiling could fail to start under certain conditions.


  1. Fixed environment migration to a VPS. An error could occur for Expert Advisors containing indicators as resources.


  1. Fixed trading mode checks for copied signals. Symbol trading can be limited on the broker side, i.e. the broker can set 'long only', 'short only' or 'close only' conditions. In earlier versions, synchronization required full trading conditions and thus copying was not allowed for all other cases. After the update, partially limited conditions will be considered as "trading". This ability will be especially useful for stock brokers' clients who wish to copy signals.


  1. Fixed trading session checks during testing. Trading operation execution could fail during testing under certain conditions, in which case the "market closed" error was returned even if the operation was initiated within a trading session.
Updated documentation.