New MetaTrader 5 Platform build 3300: Fast compilation and improved code navigation in MetaEditor

MetaQuotes
Moderator
250673

The MetaTrader 5 platform update will be released on Friday, May 20, 2022.

In the new version, we have implemented multiple improvements to MetaEditor. Compilation now supports two modes: slow compilation with code optimization and fast one without optimization. The latter option can be useful for fast code validations during development.

Other code editor improvements include a new command for jumping to method declarations and the auto-substitution option on the "Tab" key.

 New MetaTrader 5 Platform build 3300: Fast compilation and improved code navigation in MetaEditor

In addition, we have facilitated MQL5 debugging processes by automatically displaying local variables in the watch list.

These changes, along with other new features of the updated MetaTrader 5 platform version, are described in detail below:


  1. Terminal: Added ability to resize the Rectangle graphical object by dragging any of its four corners.


    Modify the rectangle by dragging any of its corners


  2. Terminal: Faster GUI rendering.
  3. Terminal: Improved support for IPv6 addresses.
  4. Terminal: Fixed height calculation for the lower date field and width calculation for the right-hand side price field on the first platform launch.
  5. MQL5: Added function for working with matrices and vectors —  RegressionMetric. It sets the metric for regression evaluation.
     double vector.RegressionError(const enum lr_error);
     double matrix.RegressionError(const enum lr_error);
     vector matrix.RegressionError(const enum lr_error,const int axis);
    The following variables can be used as metrics:
    enum REGRESSION_ERROR
      {
       REGRESSION_MAE,     // Mean absolute error
       REGRESSION_MSE,     // Mean square error
       REGRESSION_RMSE,    // Root mean square error
       REGRESSION_R2,      // R squared
       REGRESSION_MAPE,    // Mean absolute percentage error
       REGRESSION_MSPE,    // Mean square percentage error
       REGRESSION_RMSLE    // Root mean square logarithmic error
      };
  6. MQL5: Added ability to write arrays with data size greater than INT_MAX (arrays of structures).
  7. MetaEditor: Tab bar improvements:

    • The panel is not hidden even if only one window is open. Thus, the tab context menu commands are always visible to the user.
    • The 'X' closing button has been added to each tab. In addition, tabs can be closed using the middle mouse button or via the context menu.

    Tab bar improvements


  8. MetaEditor: Added command for quick program compilation. This mode skips code optimization, which significantly speeds up the creation of an EX5 executable file. Use this mode during the active development stage, when you need to quickly check the written code. During the final program compilation, turn on the maximum optimization mode for enhanced performance.


    Use unoptimized compilation for quick code verification


    The "Maximum optimization" parameter in the project settings performs the same function.

    All compilation-relation operations are available under the "Build" menu.

  9. MetaEditor: Code management improvements:

    • Separate commands have been implemented for jumping to definitions and to declarations. Previously, the menu had one command which opened a selection sub-menu. The new commands enable faster switch to necessary code parts.
    • Added substitution of recognized keywords by the "Tab" key, in addition to "Enter".


    Jump to method declaration


  10. MetaEditor: Added ability to automatically display local variables in the debugger watch list. The display can be enabled by the "Local" context menu command. As the debugger operation proceeds through the code, variables from the current scope are automatically displayed in the list.


    Display of local variables in the Watch List

  11. MetaEditor: Debugger watch list improvements for vectors and matrices.
  12. MetaEditor: Fixed paths in project files. An error could cause files to disappear from projects.
  13. Tester: Improved stopping of tester agents at platform shutdown.
  14. Tester: The fifth MQL5 Cloud Network node has been added. It is located in Hong Kong. The new node speeds up the optimization of robots via the network in the nearest regions.
  15. Fixed errors reported in crash logs.


The update will be available through the Live Update system.

Sergey Golubev
Moderator
126157
Sergey Golubev  

Already updated -

MetaTrader 5 Platform build 3300

Dukaci
29
Dukaci  
Is there a way to see the map of all functions as can be seen in the last picture, at all times. Thus having a quick way navigating about the code, would be a nice alternative to not having folding !
Jed Gibson
517
Jed Gibson  

"Terminal: Added ability to resize the Rectangle graphical object by dragging any of its four corners."

Better late than never

 

Farzin Vajihi
123
Farzin Vajihi  
Cant wait for a new UI from MT5, its about time
Xiaoyu Huang
3174
Xiaoyu Huang  

Fast compilation is very useful!!!

VS


Carl Schreiber
Moderator
13926
Carl Schreiber  

A couple of minutes ago the MT5 update windows popped up for my 3302(?) MT5 in portable mode and I pressed ok for the update - but the portable mode is not supported :(

  1. A new folder was created: ...\AppData\Roaming\MetaQuotes\Terminal\BCDEABB7FE91819D147F14B92E0D9730
  2. 60MB copied
  3. in the portable folder the terminal did not start :(
  4. All my setups were gone !!
  5. If I start a shotcut with "C:\Users\cas\Documents\MT5\T5\terminal64.exe /portable - nothing happens
  6. If I start the terminal in Documents\MT5\T5\  the MT5 folder is: C:\Users\cas\AppData\Roaming\MetaQuotes\Terminal\BCDEABB7FE91819D147F14B92E0D9730  :(
  7. No setup gone :(
  8. For sometime the was a file portable.txt - now it is gone :(
  9. ....

Can you fix it before the weekend?

After reinstalling b.3300 (copying editor, terminal & tester) in my portable folder ist starts with no harm and all its settings.

Thanks to Andrey Khatimlianskii https://www.mql5.com/de/users/komposter:
https://drive.google.com/drive/folders/1YSUVehcElTpLxCLPMsdlDfFu4Y61yrcc

Carl Schreiber
Moderator
13926
Carl Schreiber  
Carl Schreiber #:

A couple of minutes ago the MT5 update windows popped up for my 3302(?) MT5 in portable mode and I pressed ok for the update - but the portable mode is not supported :(

  1. A new folder was created: ...\AppData\Roaming\MetaQuotes\Terminal\BCDEABB7FE91819D147F14B92E0D9730
  2. 60MB copied
  3. in the portable folder the terminal did not start :(
  4. All my setups were gone !!
  5. If I start a shotcut with "C:\Users\cas\Documents\MT5\T5\terminal64.exe /portable - nothing happens
  6. If I start the terminal in Documents\MT5\T5\  the MT5 folder is: C:\Users\cas\AppData\Roaming\MetaQuotes\Terminal\BCDEABB7FE91819D147F14B92E0D9730  :(
  7. No setup gone :(
  8. For sometime the was a file portable.txt - now it is gone :(
  9. ....

Can you fix it before the weekend?

After reinstalling b.3300 (copying editor, terminal & tester) in my portable folder ist starts with no harm and all its settings.

Thanks to Andrey Khatimlianskii https://www.mql5.com/de/users/komposter:
https://drive.google.com/drive/folders/1YSUVehcElTpLxCLPMsdlDfFu4Y61yrcc

New build to 3311 and everything works perfectly again!

Thank you.

DeepL Translate – Der präziseste Übersetzer der Welt
DeepL Translate – Der präziseste Übersetzer der Welt
  • www.deepl.com
Übersetzen Sie Texte und ganze Dateien im Handumdrehen. Präzise Übersetzungen für Einzelnutzer und Teams. Jeden Tag nutzen Millionen von Menschen DeepL.
Hamed Parvaresh
21
Hamed Parvaresh  
please add new UI or better IDE for meta editor
Vladimir Karputov
Moderator
306051

Please give the user a tool to copy the indicator name. For example, I have an indicator on the chart:

how do i copy the indicator name?