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

 

The MetaTrader 5 platform update will be released on Friday, May the 21st, 2021. The new version features the following changes:

  1. Terminal: 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.



    MQL5 services are now conveniently arranged in the main working area of the platform

    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 MQL5.community website showcase: a polar diagram with the main characteristics, reliability and activity metrics and other variables.


    Service design has become more lightweight and modern

  2. Terminal: 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. Terminal: 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.


    Debugging and profiling are shown in Task Manager


  4. Terminal: 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 DMG package for easy MetaTrader 5 installation on macOS computers. With this package, the platform can be installed similarly to any other application: drag the platform icon to Applications and wait for the installation to complete.
      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 https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/MetaTrader5.dmg
    If you are using CrossOver, please completely reinstall MetaTrader 5 to obtain the latest 64-bit platform version.
  5. Terminal: Fixed "Ctrl+F9" keyboard shortcut action. It activates the Trade tab in the Toolbox.
  6. MQL5: 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.
  7. MQL5: 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)
      {
       return(c*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.

  8. MQL5: 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.
  9. VPS: Fixed environment migration to a VPS. An error could occur for Expert Advisors containing indicators as resources.
  10. MetaEditor: Fixed debugging and profiling termination in non-visual mode.
  11. MetaEditor: Fixed indicator profiling on real data. Such profiling could fail to start under certain conditions.
  12. Signals: 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.
  13. Tester: 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.
  14. Updated documentation.

The update will be available through the Live Update system.

 

Updated -

MetaTrader 5 platform beta build 2920

 

Hi,

Screenshots made with the "ChartScreenShot" command don't work anymore in Linux Mint. My result is a file with the correct name but with 0 bytes content. It still work under windows 10.

Regards,

Danny

 

Updated to build 2940 now:

MetaTrader 5 Platform Build 2940

 

Hi,


it seems that the keyword "vector" has been reserved as a datatype ?


I wonder what datatype is a vector?

and if there is an example? how to code that vector?

I mean if there is some usage example, please?

;if someone could help me understand the new keyword vector better ?


Thanks :)

 
Abdulraheem Al bunyan:

Hi,


it seems that the keyword "vector" has been reserved as a datatype ?


I wonder what datatype is a vector?

and if there is an example? how to code that vector?

I mean if there is some usage example, please?

;if someone could help me understand the new keyword vector better ?


Thanks :)

Some talking with admins about it in Russian forum (machine translation to the English):

Forum on trading, automated trading systems and testing trading strategies

New version of MetaTrader 5 platform build 2875: Improvements and fixes

Vladimir Belozercev , 05/20/2011 08:24 AM

Apparently, the word `vector` is perceived by the compiler as a reserved word:

vector

I am attaching an example.

Forum on trading, automated trading systems and testing trading strategies

New version of MetaTrader 5 platform build 2875: Improvements and fixes

Rashid Umarov , 2021.05.11 08:46

Yes, new data types are being introduced into the MQL5 language. You need to make edits to your sources

Forum on trading, automated trading systems and testing trading strategies

New version of MetaTrader 5 platform build 2875: Improvements and fixes

Ilyas , 05/20/2011 11:04 AM

No, this is a mathematical vector

matrix and complex will be added along with vector

We also plan to take the names vectorc, veсtori, matrixc and matrixi (possibly vectorf, matrixf)


 

Hello, the new version dows not work when using the Strategy Tester on the timeframes Daily, Weekly, Monthly.

No trades are being made while the older versions do.

Rg. FxTaTrader

 
Forex Technical Analyst Trader:

Hello, the new version dows not work when using the Strategy Tester on the timeframes Daily, Weekly, Monthly.

No trades are being made while the older versions do.

Rg. FxTaTrader

Could be the same issue I had yesterday, see https://www.mql5.com/en/forum/369755 and the answer of 'Alain Verleyen'

Please help - "Market closed" in Strategy Tester
Please help - "Market closed" in Strategy Tester
  • 2021.05.21
  • www.mql5.com
Hi everybody, like always and done without any problems in previous versions of MT5 I want to test my (unmodified) EA by the strategy tester...
 
Dr Matthias Hammelsbeck:

Could be the same issue I had yesterday, see https://www.mql5.com/en/forum/369755 and the answer of 'Alain Verleyen'

Hello, I saw the answer of  'Alain Verleyen' but do not understand what I should do to make it work in the interface.
When I open the icon next to the time frame it shows the window "Tested symbol" and there the Sessions are mentioned and filled in.


It always worked and now it only works on timeframes lower than the Daily like H12, H8, H4 etc.

I know it still works when using the older version build 2875 and the EA is exactly the same.
Also when using default EA like MACD which is included in MT5 it does not work either.
How can it still work with timeframes lower than Daily and not with the other timeframes?

 
Forex Technical Analyst Trader:

Hello, I saw the answer of  'Alain Verleyen' but do not understand what I should do to make it work in the interface.
When I open the icon next to the time frame it shows the window "Tested symbol" and there the Sessions are mentioned and filled in.


It always worked and now it only works on timeframes lower than the Daily like H12, H8, H4 etc.

I know it still works when using the older version build 2875 and the EA is exactly the same.
Also when using default EA like MACD which is included in MT5 it does not work either.
How can it still work with timeframes lower than Daily and not with the other timeframes?

Because the Strategy Tester behaviour has changed, you are using "Open prices only", on daily that means the EA is tested at 00:00 and as your symbol specification shows, the market is closed at that time.

2 solutions :

Use symbol custom settings (change the sessions settings to keep them open at midnight).

Or update your code to take the sessions into account.

 
Alain Verleyen:

Because the Strategy Tester behaviour has changed, you are using "Open prices only", on daily that means the EA is tested at 00:00 and as your symbol specification shows, the market is closed at that time.

2 solutions :

Use symbol custom settings (change the sessions settings to keep them open at midnight).

Or update your code to take the sessions into account.

Hello Alain,

Thanks for your support. I will look into this to solve it.

Kind regards, FxTaTrader

Reason: