MetaTrader 5 build 3081: Improvements in MQL5 services and design updates

What's new in MetaTrader 5

14 October 2021


  1. Improved navigation in services.

    Market, Signals and VPS sections have been moved from the main platform workspace to the Navigator. The new positioning provides easy access to the desired products and enables efficient management of purchases and subscriptions. "How it works" sections have been added to each service, to provide the basic usage information.

    Improved navigation through services

  2. All menu and toolbar icons have been completely redesigned. The terminal interface has become more user-friendly:

    • Removed small elements from icons
    • Reduced the number of used colors to avoid color noise
    • Fewer gradients are used to improve readability
    • More straightforward metaphors are used

    All menus, toolbars and dialogs have been redesigned in the platform

  3. Added the display of costs resulting from deal execution. The relevant information is shown in the trading history. This feature is used by NFA regulated brokers.

    The account history now shows deal costs>

    If your broker enables cost calculation on the server, the new Costs column will appear in your account trading history. The column shows the deal execution cost relative to the current mid-point price of the symbol (mid-point spread cost).

  4. Launched Korean version of

    This is the eighth language available at, the largest community of algorithmic traders. The website interface, articles, the Economic Calendar and important forum topics are already available in Korean. MQL5 documentation will be translated soon.

  5. Fixed loading of custom trading instruments. In some cases, newly created symbol settings could overwrite existing symbol settings.
  6. Fixed the on-chart display of the signal trading history. Previously, the relevant option enabled the display of all trades for all financial instruments, and not only for the chart symbols.
  7. Added export of the Fee column to the trading history report. Previously the value was only displayed in the history, but it could not be saved to a file.
  8. Optimized and accelerated operation of one-click trading panels in Market Watch and on charts.
  9. Fixed operation of the Margin Ratios field for custom trading instruments. The values could be reset to zero under certain conditions.
  10. We continue implementing the Subscriptions service through which traders can purchase additional trading services from brokers. Fixed errors in the quotes subscription window.
  11. Fixed display of the Trend Line analytical object. Previously the line could disappear upon scaling or upon chart window resizing.
  12. Fixed display of the Rectangle analytical object. The object could disappear if one of the anchor points was beyond the chart visibility area.
  13. Fixes and operation speed improvements related to operation of built-in charts.
  14. Fixed rounding of the Value parameter in the list of open positions. The fractional part could be hidden in previous versions.
  15. Fixed mobile phone verification during the account opening process. Phone numbers could be identified as incorrect for some Chinese operators.
  16. Added support for MQL5 account passwords longer than 32 characters.
  17. Fixed export of certificates when working in Wine. This option is used for accounts with extended authentication, when migrating such accounts from desktop to mobile.
  18. Fixed buttons opening MQL5 services in the lower panel of the Toolbox window. The buttons were inactive when the window was undocked.
  19. Added limitation on the "File \ New Chart" menu size. Now the menu can contain no more than 128 submenus with symbol groups, each having no more than 32 symbols. The limitation speeds up the terminal operation and avoids freezing when adding a large number of trading symbols (2,000 or more) to Market Watch.


  1. We continue adding vector and matrix support. The new functions will significantly expand the possibilities for neural network-based solution developers.
  2. Added DEAL_SL and DEAL_TP values in the ENUM_DEAL_PROPERTY_DOUBLE enumeration — the Stop Loss and Take Profit levels of a deal.

    The relevant values for entry and reversal deals are set in accordance with the Stop Loss/Take Profit of orders, which initiated these deals. The Stop Loss/Take Profit values ​​of appropriate positions as of the time of position closure are used for exit deals.

  3. Added the MQL_HANDLES_USED value in the ENUM_MQL_INFO_INTEGER enumeration — the number of active class objects (handles) in an MQL program. These include both dynamic (created via new) and non-dynamic objects, global/local variables or class members. The more handles a program uses, the more resources it consumes.

  4. Added new methods for working with the MqlCalendarValue structure which describes an economic calendar event:

    • HasActualValue(void) — returns true if the actual value is set; otherwise returns false
    • HasForecastValue(void) — returns true if the forecast value is set; otherwise returns false
    • HasPreviousValue(void) — returns true if the previous value is set; otherwise returns false
    • HasRevisedValue(void) — returns true if the revised value is set; otherwise returns false
    • GetActualValue(void) — returns the actual value of an event (double) or nan if the relevant value is not set
    • GetForecastValue(void) — returns the forecast value of an event (double) or nan if the relevant value is not set
    • GetPreviousValue(void) — returns the previous value of an event (double) or nan if the relevant value is not set
    • GetRevisedValue(void) — returns the revised value of an event (double) or nan if the relevant value is not set

  5. Fixed debugging of the MQL5 programs which use libraries in the form of EX5 files.
  6. Accelerated compilation of programs containing large arrays initialized by a sequence.
  7. Fixed execution of the CopyTicksRange function with custom trading symbol data. The function could return data out of the requested period.
  8. Fixed verification of the availability of all template parameters during specialization by parameters. Code compilation with debug templates could cause "code generation error" under certain conditions.


  1. Added capability to automatically renew Signal subscriptions.

    Your subscription will not end abruptly, as the system will automatically renew it for another month through the payment method that you previously used for the initial subscription purchase.

    Enable auto renewal for your Signal subscription

    If you made your previous payment using a card and the renewal payment fails, the system will try to make a payment from your MQL5 account balance.

    Do not worry about changes in subscription prices. If the price grows, auto-renewal will be canceled. You will receive a relevant notification by email.

    You can enable or disable the auto renewal option at any moment via the My Subscriptions section at

    Manage auto renewals from the My Subscriptions section at

  2. Fixed display of the Signals showcase. Now the system correctly identifies the compatibility of signals with the current account.


  1. Added product search by the author's name and login in the Market showcase. Previously, the service only supported search by product name and description.


  1. Improved the auto subscription renewal option.

    Previously, the payment for the renewal could only be made from the MQL5 account balance. The user had to make sure the relevant amount is available on their account.

    Now there is no need to top up the MQL5 account. The system will renew the subscription using the same payment method which you used for the initial subscription. If you paid for the VPS with a card and enabled the auto renewal option, the system will use the same payment method for the new subscription period. If the payment fails, the system will try to make a payment from your MQL5 account balance.

    Use cards and other payment methods for auto renewal

    With the new option, you can be sure that your Expert Advisors and signal subscriptions will not stop due to the end of the VPS period. Furthermore, there is no need to check and top up your balance manually.
    The option will only be used for new subscriptions. Payments for the renewal of existing subscriptions will be made from the MQL5 account balance.


  1. Fixed visual testing errors. Under certain conditions, charts could fail to display indicators used in Expert Advisors.


  1. Fixed jumping to the function or variable declaration using Alt+G. The action could fail if the declaration was below the call line.
  2. Added display of the object type for references to class objects in the debugger.
  3. Added capability to display union in the list of watched expressions.

MetaTrader 5 iPhone/iPad, MetaTrader 5 Android

  1. Added display of a disclaimer during application start. Please read it carefully. Additionally, some brokers can automatically create a demo account during the first start of the application. In this case, you will see the relevant terms.

    Disclaimers added in MetaTrader 5 for iPhone/iPad

  2. Added capability to connect an account to monitoring in the Signals service directly from the mobile application. This can be done by selecting "Account Monitoring" from the menu. For convenience, the account number and the broker name are automatically added to the registration window. You should additionally specify the signal name and an investor password.

    Connect your account to the monitoring to access advanced trading statistics, to share the results with other traders or to start selling your signals.

  3. Added support for Huawei AppGallery and HMS Services for mobile terminals running on Android OS. Huawei smartphone owners can install the app from the relevant store and use push notifications.
Updated documentation