MetaTrader 5 Client Terminal build 655

Release Notes: The client terminal supports sending messages concerning various events to iOS and Android powered devices using push notifications

6 juin 2012

Trading Terminal

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

    Options Natifications

    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:

    MetaQuotes ID

    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.

  2. Added the button link to website at the client terminal toolbar. Buton

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

    Charts and Objects

  4. 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.
  5. Added display of "Label" and "Bitmap Label" graphical objects sizes in their properties dialog:

    Added display of "Label" and "Bitmap Label" graphical objects sizes in their properties dialog

  6. 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.
  7. Added prohibition on changing the path to "Bitmap" type images created from MQL5 programs.
  8. Improved scanning for trading server access points - reduced scanning period and clarified the best point selection algorithm.
  9. Improved display of the "Edit" graphical object when using "Wingdings" font.
  10. Fixed moving the graphical objects with a mouse in case of the disabled date scale.


  1. 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.
  2. 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.
  3. 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,       // resource name
       const string      path                 // relative path to the file
    Creating an image based on the pixels array:
    bool  ResourceCreate(
       const string      resource_name,       // resource name
       const color&      data[],              // data set as an array 
       uint              img_width,           // created resource image width
       uint              img_height,          // created resource image height
       uint              data_xoffset,        // horizontal offset of the upper left corner of the created image to the right
       uint              data_yoffset,        // vertical downward offset of the upper left corner of the created image
       uint              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.

  4. Added ChartIndicatorGet function - getting an indicator handle on a specified chart and its subwindow by its short name.
  5. Added IndicatorParameters function - getting an indicator parameters type and array by its handle.
  6. 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.
  7. Completed the works on adding profiling support in MQL5 language. MetaEditor profiling function is to be added in the next build.
  8. 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.
  9. Added "event handling function not found" compilation error, in case there are no access points (OnStart, OnTick, etc.) in the application.
  10. Fixed compilation when calling the class static methods from another class.
  11. Fixed errors in '?' statement.
  12. Renamed ENUM_ORDER_TYPE_FILLING enumeration elements:

  13. 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.
  14. Added the ability to test the indicators including the ones downloaded from MQL5 Market:

    Added the ability to test the indicators

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

Strategy Tester

  1. 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.
  2. Corrections in test results reports:

    • fixed the charts
    • added holidays consideration in a position lifetime calculation.
  3. Added export of the new report on results of tests in HTML and OpenXML formats.


  1. Added С++ files (*.cpp) compilation support in case Microsoft Visual Studio 2008/2010/Express is installed.

    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.

  2. by dragging DLL on an open MQL5 source code file:

    Added the ability to automatically add exported DLL functions to MQL5 file

  3. Fixed files modification verification in MQL5 Storage from an external editor (not from MetaEditor).
  4. Fixed Revert command behavior when working with MQL5 Storage.
  5. Fixed search in files in "Match whole word only" mode.
  6. 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