11 April 2012
11 April 2012
Through the OBJPROP_HIDDEN property set only from MQL5 programs, graphical objects are divided into manually created and automatically created objects. By default, the list shows only the manually created objects to keep the window well organized. To see all objects, click "List All".
Now objects created by programs are not deleted by the command "Delete last (Backspace)".
This prevents accidental removal of interface objects. They can be deleted programmatically or through the List of Objects (Ctrl + B) window.
Added display of the beginning and end of symbol trading in the symbol settings dialog:
Overloading of operations allows to describe operations with the meaning equivalent to those already existing in the language and apply them to the types of data created by the programmer. For example, overloading of operator "[]" allows you to implement a class with the behavior of an array. Overloading arithmetic operators allows to implement classes for working with complex numbers. In the above cases, overloading of operations allows to use of familiar syntax and avoid creation of numerous functions like ComplexPlusComplex, IntegerPlusComplex, ComplexMinusFloat, etc.
In addition, support for operator overloading in MQL5 provides compatibility with general-purpose programming languages (particularly with C++), facilitating the translation of previously written code (software libraries) into MQL5.
Static fields and methods are the property of the class, so there is no need to create class instances to access its static fields. Use of static fields and methods in the language improves its flexibility and expressiveness. For example, using these methods you can easily implement control over the number of class instances (objects).
Like with the support of operator overloading, support for operator overloading in MQL5 provides compatibility with general-purpose programming languages (particularly with C++), facilitating the translation of previously written code (software libraries) into MQL5.
Expanded the set of characteristics in testing results - added new features and diagrams:
Previously, if there were less than 5 minutes to the time of pending order deletion, an incorrect error TRADE_RETCODE_INVALID_EXPIRATION was returned at the attempt of correct order modification.
When you run an Expert Advisor in the strategy tester, you can create your own data array based on the simple types or simple structures. This data set can be saved using the FrameAdd() function in a special structure called a frame. During the optimization of an Expert Advisor, each agent can send a series of frames to the terminal. All the received frames are written in the file *.MQD in the folder terminal_directory/MQL5/Files/Tester expert named as the Expert Advisor. They are written in the order they are received from the agents.
Optimize passing of frames from the tester to the client terminal and increased the speed of access to the frames received from the Expert Advisor at the entry points OnTesterPass.
Removed default highlighting the current line. In the previous versions, during the initial installation of MetaEditor highlighting of the current line was enabled by default.
In the MQL5 Wizard added support for the OnTester* entry points.
These entry points are handlers of events that are automatically generated by the strategy tester during testing (OnTester) and optimization (OnTesterInit, OnTesterPass, OnTesterDeinit) of Expert Advisors. Use of these functions in the EA allows to implement custom handling of testing and optimization results.
For ease of writing code, MetaEditor provides the possibility to insert snippets — small template fragments of source code describing a particular construction of the MQL5 language. Insertion of a snippet is initialized by typing the keyword. After you type the keyword the cursor is changed to "Snippet available". To insert a snippet, you should press "Tab". For more information about working with snippets please read the MetaEditor Help.
The keywords for the entry points OnTester, OnTesterInit, OnTesterPass and OnTesterDeinit are OnTester, OnTesterInit, OnTesterPass and OnTesterDeinit.
For ease of programming, MetaEditor provides various tools from auto substitutions of names and tips to the functions to anchors and hot keys - MetaAssist. These tools allow you to speed up the process of code writing, make navigation easier and help prevent errors.
Added the window displaying the differences between a source text local file and a version stored in MQL5 Storage:
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com