MetaTrader 5 Client Terminal build 655

MetaTrader 5新功能

Trading Terminal

The client terminal supports sending messages concerning various events to iOS and Android powered devices using push notifications. With this feature, traders are always aware of all events.

Push notifications are short messages consisting of not more than 255 symbols. Such notifications are delivered immediately and they cannot be lost along the way.

Push notifications can be sent in two ways from the client terminal:

Via MQL5 application

Special SendNotification
function is available in MQL5 language allowing MQL5 application to send push notifications to MetaQuotes ID specified in the terminal settings.

Via signals function

The client terminal allows to create the signals used to notify about the market events. They are set at the "Alerts" tab of the "Toolbox" window. One type of alerting about the events is sending push notifications.

Push notifications can also be used to get information about MQL5.community website updates. To do this, enter your MetaQuotes ID at the "Contacts" tab of your user profile.

The number of sent messages is limited: not more than 1 message per 0.5 seconds and not more than 10 messages per minute.

Then, specify one or several MetaQuotes IDs separated by commas. To find out your MetaQuotes ID, open the mobile version of the terminal and go to Settings -> Messages page. That is how that page looks in the
mobile terminal for iPhone:

Press "Test" button to test messages sending. If sending is successful, you will see the appropriate message and the test notification will be delivered to your mobile device.

Added the button link to MQL5.community website at the client terminal toolbar.

"Charts" and "Objects" tabs are combined into one in the terminal settings.

32-bit version of the terminal has been compiled with the possibility to expand the available virtual address space. The volume of the available memory is expanded from 2 Gb:

Fixed the change of an object name after its creation in case "Show object properties after creation" option is enabled - the object could not be modified or deleted after changing its name without restarting the terminal.

Added prohibition on changing the path to "Bitmap" type images created from MQL5 programs.

Improved scanning for trading server access points - reduced scanning period and clarified the best point selection algorithm.

Improved display of the "Edit" graphical object when using "Wingdings" font.

Fixed moving the graphical objects with a mouse in case of the disabled date scale.

MQL5

Changed timer events processing algorithm. Timer events have been placed in the queue in any case, regardless of the presence of the events not processed by the timer. Now, new events are not added, if the queue has at least one timer event.

Added ChartTimePriceToXY and ChartXYToTimePrice functions - modifications of a chart coordinates from time/price representation to X and Y axes coordinates and vice versa for a specified chart and its subwindow.

Added ResourceCreate function - for loading a resource from a file or creating an image:

bool ResourceCreate(
conststring resource_name, // resource nameconst color& data[], // data set as an array uint img_width, // created resource image widthuint img_height, // created resource image heightuint data_xoffset, // horizontal offset of the upper left corner of the created image to the rightuint data_yoffset, // vertical downward offset of the upper left corner of the created imageuint data_width, // image total width based on data set
ENUM_COLOR_FORMAT color_format // color handling method
);

The first case of the function allows to load images and sounds from files, the second case allows only to create images dynamically. Images must be in BMP format, color depth - 24 or 32 bits, sounds can only be in WAV format. A resource size must not exceed 16 Mb.

Added ChartIndicatorGet function - getting an indicator handle on a specified chart and its subwindow by its short name.

Fixed behavior when accessing an index outside an array - position of the opening square bracket '[' before the index, which returns an error when accessing it, is specified when generating a
message to be displayed in the Expert Advisors journal.

Completed the works on adding profiling support in MQL5 language. MetaEditor profiling function is to be added in the next build.

Fixed the client terminal connection status check when launching an Expert Advisor - avoided delays caused by that check when an Expert Advisor started its operation after the terminal launch.

Added "event handling function not found" compilation error, in case there are no access points (OnStart, OnTick, etc.) in the application.

Fixed compilation when calling the class static methods from another class.

Fixed errors in '?' statement.

Renamed ENUM_ORDER_TYPE_FILLING enumeration elements:

ORDER_FILLING_AON renamed as ORDER_FILLING_FOK

ORDER_FILLING_CANCEL renamed as ORDER_FILLING_IOC

Standard Library.

Controls. Fixed the panels behavior in a separate indicator subwindow.

Added the ability to test the indicators including the ones downloaded from MQL5 Market:

Therefore, it is now possible to evaluate behavior of an indicator during the changes in history.

Strategy Tester

Added support for OpenCL programs application in tester agents.

OpenCL programs are used for performing computations on video cards that support OpenCL 1.1 or higher. Modern video cards contain hundreds of small specialized processors that can simultaneously perform simple mathematical operations with incoming data streams. The OpenCL language organizes parallel computing and provides greater speed for a certain class of tasks.

Corrections in test results reports:

fixed the charts

added holidays consideration in a position lifetime calculation.

Added export of the new report on results of tests in HTML and OpenXML formats.