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.
Check "Enable Push Notifications" box to allow the client terminal to send messages.
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:
- to 3 Gb when using 32-bit operation system. Special keys for downloading the operation system are necessary to enable this mode in 32-bit operation system;
- to 4 Gb when using 64-bit operation system. No additional actions are required to enable this mode in 64-bit operation system.
Added display of "Label" and "Bitmap Label" graphical objects sizes in their properties dialog:
- 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:
Creating the resource from the file:
bool ResourceCreate(
const string resource_name,
const string path
);
Creating an image based on the pixels array:
bool ResourceCreate(
const string resource_name,
const color& data[],
uint img_width,
uint img_height,
uint data_xoffset,
uint data_yoffset,
uint data_width,
ENUM_COLOR_FORMAT color_format
);
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.
- Added IndicatorParameters function - getting an indicator parameters type and array by its handle.
- 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.
- Controls. Fixed drag'n'drop controls behavior.
- Controls. Added TextAlign text uniformity property to CEdit and CChartObjectEdit classes.
- Controls. CRect class is transformed into the structure.
- Added CCanvas class (Include\Canvas\Canvas.h) for creating own images resources.
- Added asynchronous trading support to CTrade class.
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.
MetaEditor
Added С++ files (*.cpp) compilation support in case Microsoft Visual Studio 2008/2010/Express is installed.
Thus, it is possible to debug and modify custom DLLs written in С++ right in MetaEditor.
by dragging DLL on an open MQL5 source code file:
- Fixed files modification verification in MQL5 Storage from an external editor (not from MetaEditor).
- Fixed Revert command behavior when working with MQL5 Storage.
- Fixed search in files in "Match whole word only" mode.
- Fixed transition between the function parameters during MetaAssist operation.
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
See the previous news, please: