Get Trial

What's new in MetaTrader 5

The history of updates of the desktop, mobile and web platforms

29 October 2012

MetaTrader 5 Android build 709
  • Added crosshair and ruler
  • Implemented enhanced authorization
  • Fixed a bug which caused visualisation of black rectangle on the chart instead of text in some devices
  • Fixed a bug due to which used credentials didn't save in some cases
  • Improved stability on Motorola devices
  • Minor errors and bug fixes

13 October 2012

MetaTrader 5 Trading Terminal build 712

Trading Terminal

  1. Signals. Added copying SL and TP from a signals source.

    Signals. Added copying SL and TP from a signals source

  2. Signals. Improved the algorithm of the deal volume automatic calculation when entering the market. The ratio of the deposit's size and currency is now considered, as well as the account leverage. Obtained result is shown in percentage terms and rounded to tens (10%, 20%, etc.).
  3. Signals. Added support of searching by signal base.

    Signals. Added support of searching by signal base

  4. Signals. Fixed drawing the charts on a signal data page in case of data insufficiency.
  5. Signals. Fixed display of minicharts in the list of available signals.
  6. Signals. Added protection from simultaneous SL\TP activation and close signal arrival.
  7. Signals. Enhanced logging on synchronization of an account with a signal source.
  8. Signals. Fixed display of signal data and crash of the navigation among signals when working in Wine.


  1. Fixed the type returned by ObjectDelete function - int is replaced by bool.
  2. Added CHART_FIXED_POSITION chart property for ChartGetDouble\ChartSetDouble functions - managing the chart fixation point.
  3. Added support for Named Pipes including CFilePipe standard library class.

Stratagy Tester

  1. Fixed specifying a saved file snapshot of genetic optimization state.
  2. Fixed the shift of a test starting date if there is not enough price history.
  3. Fixed the tester crash after testing an Expert Advisor working with a custom indicator using any other indicator.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the Live Update system.

The MetaTrader 5 Trading Terminal can be downloaded at "

5 October 2012

MetaTrader 5 Trading Terminal build 705

Trading Terminal

  1. The MetaTrader 5 Trading Terminal has been integrated with the MQL5.Signals service. Now every MQL5 account holder can subscribe to trading Signals Sources, including the Automated Trading Championship 2012 participants.

    Moreover, the Client Terminal will copy trading signals with minimum delays according to the signal settings.

    Control of signals in the MetaTrader 5 Trading Terminal

    The list of signals in the MetaTrader 5 Trading Terminal

    The report on signals in the MetaTrader 5 Trading Terminal

    One trading account on the broker's trade server can be subscribed to only one Signals Source at a time. To change the Signals Source, the active subscription has to be revoked.

    Before the Signal is copied, client's positions undergo the initial synchronization with the positions of the Signals Source. There shall be no orders or positions in the client account of the Subscriber that were opened by the client or based on the Signal from another Signals Source. Moreover, the initial synchronization is only possible in case the total floating profit of the Signals Source is not positive, thus the Subscriber will enter the market at the price which is not worse than that at which the Signals Source entered the market.

    The synchronization initiates the opening of the client's positions in the same direction and trading instrument as the positions of the Signals Source. The opening position volume is determined according to the money management settings. The positions are opened using market orders with slippage specified in the settings. SL and TP levels are also copied, unlike pending orders that are not copied.

    Further copying of the Signal is subject to successful synchronization the results of which are recorded in the terminal log labeled "Signal".

    Following the successful initial synchronization, new transactions in the account of the Signals Source are copied again by performing the same transactions in the client account of the Subscriber using market orders. The order volume and slippage are determined according to the settings. Changes in the SL and TP levels for open positions are also copied. All actions associated with the copying of the signal are recorded in the terminal log labeled "Signal".

    The copying of signals does not provide for the possibility of concurrent trading either manually or using an Expert Advisor. Any results of copying the signal are incalculable after such interference.

    If an error occurs when copying the signal - connection failure, order placing error, etc. - the account will again be synchronized with the Signals Source.

    The signal settings require the specification of the money management, i.e. the algorithm for determining the volume of transactions with respect to the volume of transactions of the Signals Source:

    • Automatic - the volume is determined in proportion to the Subscriber's and Signals Source's balance ratio.
    • Percentage based - the volume is determined as a specified percentage of the signal's volume in the Signals Source.

    Trading operations are performed with a permissible slippage set by the "Slippage" parameter that is expressed in spreads of a trading instrument.
    The copying of the signal will stop automatically if Equity falls below the level specified in the settings. All previously opened positions will in this case get closed.

  2. Fixed setting SL and TP values in the position modification dialog for instruments with a fixed tick size.
  3. Fixed handling commands for arranging chart windows horizontally and vertically
  4. Fixed the display of the purchased Product list in MQL5.Market.


  1. Fixed the TERMINAL_LANGUAGE value in the TerminalInfoString function, when using the default language.
  2. Fixed the copy constructor check.
  3. MQL5: Fixed handling critical errors for х64.
  4. Standard Library. Fixed passing the Expert Advisor's Magic number when performing trading operations in the CTrade class.
  5. Standard Library. Fixed the calculation of risks using the CMoneyFixedRisk class.

Strategy Tester

  1. Fixed the memory leak when clearing the list of utilized indicators.
  2. Added the calculation of commissions when testing and optimizing.


  1. Redesigned and optimized the local editor database for working with MQL5.Storage.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the Live Update system.

The MetaTrader 5 Trading Terminal can be downloaded at "

25 September 2012

MetaTrader 5 Android build 698
  • Added support for push notifications
  • Fixed the trading dialog error that did not allow to trade using Android 2.x powered tablets
  • Fixed minor errors

18 September 2012

MetaTrader 5 Android build 697
  • Added 30 indicators: Moving Average, Bollinger Bands, Average Directional Movement Index, Envelopes, Ichimoku Kinko Hyo, Standard Deviation, Average True Range, Bears Power, Bulls Power, Commodity Channel Index, DeMarker, Force Index, Momentum, Moving Average of Oscillator, Relative Strength Index, Relative Vigor Index, Williams' Percent Range, Accumulation/Distribution, Money Flow Index, On Balance Volume, Volumes, Accelerator Oscillator, Awesome Oscillator, Gator Oscillator, Alligator, Market Facilitation Index, Parabolic SAR, Fractals, MACD, Stochastic Oscillator.
  • Added support for small and large-pixel screens.
  • Improved operational stability and user interface.

6 September 2012

MetaTrader 5 Trading Terminal build 695

Trading Terminal

  1. Added quick position closing and orders deletion by a single mouse click.
    Click the cross in "Profit" column of orders and positions list to close a position or remove a pending order.

    Closing and orders deletion by a single mouse click

    If "One-click trading" option is enabled in the terminal settings, position will be closed immediately at the current price (order will be removed). If the option is disabled or quick closing is impossible (for example, for trading symbols having Request Execution type), the standard position closing (order removal) dialog will appear.

    НOne-click trading option

  2. Fixed displaying positions having "Futures" calculation type in "Exposure" window.

  3. Fixed working with Expert Advisors tree in "Navigator" window.
  4. Fixed possible failure of downloading products from MQL5.Market.
  5. Updated translation of the interface into Japanese.


  1. Changed the order of calling the constructor of an object returned by the function:
    Formerly, the constructor has been called by default before the function returning an object, while the copy operator has been called inside the function for return.
    Now, the appropriate constructor, copy constructor or default constructor calling the copy operator are called in return operator for an object returned from the function.
  2. Fixed a typo in one of the ENUM_SERIES_INFO_INTEGER enumeration values (SERIES_SYNCRONIZED -> SERIES_SYNCHRONIZED). Please make changes in the codes where the value is used.
  3. Fixed working with constant pointers.
  4. Fixed loading the libraries consisting only of resources.
  5. Standard Library. Fixed CDialog behavior during minimization.
  6. Standard Library. Added modification of stop-limit orders in CTrade::OrderModify method.
  7. Standard Library. Changed implementation of several methods for correct working with constant pointers to objects.

Strategy Tester

  1. Improved the algorithm of assigning the tasks to the agents considering the memory consumption.
  2. Fixed generating the volumes when testing by open prices for the timeframes larger than the main one.
  3. Fixed possible incorrect generation of bars at large timeframes when testing using open prices.
  4. Fixed applying a saved state of genetic optimization that could lead to "freezing" of the relaunched optimization in some cases.
  5. Added optimization "by all symbols from Market Watch" in the absence of an optimized Expert Advisor's input parameters.
  6. Fixed possible incorrect display of the last price in Market Watch during the first request of data on another symbol.
  7. Added prohibition for the agents with physical memory less than 768 MB to connect MQL5.Cloud.
  8. Added guaranteed transfer of the complete agent's log during the tests.


  1. MetaEditor: Added support for projects in

    Projects allow programmers to develop MQL5 applications in teams. Teamwork is performed via MQL5 Storage. It means that a user should have an active account on and connect to MQL5 Storage.

    Projects in

    Projects folder in MQL5 directory has been implemented for common projects. It is shown in blue in Navigator.
    Despite the fact that Projects folder is located inside MQL5, the projects are located separately from the user's personal directory (< account>/MQL5).
    All projects are stored in a separate section

    The top-level directory in Projects folder is considered to be a project. Therefore, a new folder should be created in Projects section to create a project. Use "New Folder" option to create the new folder, select it and click "Create Project" in the context menu.
    The project will be created. Reports on successful project creation will be displayed in MetaEditor's journal.

    Access to each project is set only by a project author (a user who created it).
    To start a teamwork on a project, you should allow other users to access it. Click "Add Permission" in the context menu of a created project folder and add a new user by specifying his or her login.

    Collaboration over the project in MetaEditor

    Click "Checkout" in "Projects" folder context menu to upload available projects. The projects will be uploaded from the storage. All further operations with them are similar to the ones with conventional files assigned to MQL5 Storage.

  2. Fixed MetaStyler operation - considering interline alignment for the lines beginning from #.
  3. Fixed errors occurred when working with MQL5.Strorage.
  4. Fixed display of parameters of class methods in MetaAssist when addressing via this.

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 "

3 August 2012

MetaTrader 5 Trading Terminal build 687

Trading Terminal

  1. Fixed errors when making purchases in MQL5.Market.
  2. Fixed errors when working with MQL5.Market having UAC enabled.
  3. Fixed specifying a symbol in the new order placing dialog when using the chart context menu and the list of open positions and orders.


  1. Fixed errors in changes display dialog when working with MQL5.Storage.
  2. Fixed errors when renaming and deleting files stored in MQL5.Storage.
  3. Fixed the error when using windows placement commands: Cascade\Tile Windows\Tile Horizontally\Tile Vertically.

Strategy Tester

  1. Fixed crashes when stopping the visual tester.
  2. Fixed disabling the agents in the client terminal during a test.
  3. Fixed calculation of the estimated number of genetic optimization passes.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the Live Update system.

The MetaTrader 5 Trading Terminal can be downloaded at "

2 August 2012

MetaTrader 5 Trading Terminal build 684

Trading Terminal

  1. Added highlighting the account status bar, if the account is in Margin Call or Stop Out states.

    Highlighting the account status bar, if the account is in Margin Call or Stop Out states

  2. Fixed drawing of the "Fibonacci Fan" object.
  3. Fixed calculation of a chart scale in "Scale points per bar" mode.
  4. Fixed terminal crash when working in Wine (for Linux, Mac).
  5. Fixed display of internal emails and news under Windows XP with Internet Explorer 6.0.
  6. Fixed search on website when working in older Windows XP versions.
  7. Updated translation of the client terminal into Bulgarian.


  1. Added request_id field in MqlTradeResult structure - a unique identifier of the terminal trade request during a network session.

    This field is filled by the client terminal when a trade request is successfully sent to the server. Further on, this field is filled in result parameter of OnTradeTransaction entry point. Therefore, the opportunity of clear comparison of OrderSend and OrderSendAsync functions calling with getting the trade request results at OnTradeTransaction entry point is provided.

  2. Added compatibility of ex5 programs with DLLs created using .NET.
  3. Fixed optimization of the functions that return the structures.
  4. Added operation signs in the profiler mode:
    • IS_PROFILE_MODE - macros determining MQL5 program compilation in the profiling mode
    • MQL5_PROFILER - new value of ENUM_MQL5_INFO_INTEGER enumeration - determining the programs operation in the profiler mode. MQL5InfoInteger function should be used to get the value.
  5. Disabled inlining of large volume functions leading to excessively large EX5 files.
  6. Standard Library. Added SetTransparentLevel transparency management method to CCanvas class.
  7. Added the new sinput (static input) key word preventing manual input of values for searching an input parameter during optimization.
  8. Added ParameterSetRange(string name, bool enable, double value, double start, double step, double stop) function, which allows redefining the very possibility of searching the values, as well as the range of searched values before launching the optimization. The function can be called only from OnTesterInit handler. The function can also be applied to the input parameters protected by sinput key word.
  9. Added ParameterGetRange(string name,bool& enable, double& value, double& start, double& step, double &stop) function. It can be called from OnTesterPass and OnTesterDeinit handlers.


  1. Fixed automatic saving of all open files before the compilation.
  2. Added the snippet for OnTradeTransaction entry point.

    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 key word for OnTradeTransaction entry point is OnTradeTransaction.

  3. MQL5.Storage - fixed MQL5 Storage errors related to determining the presence of changes.
  4. Fixed results display for the "inline" code in the profiler.
  5. Fixed search on website when working in older Windows XP versions.

Strategy Tester

  1. Removed the limit of 63 simultaneously optimized parameters.

    All input parameters can now be included for optimization (the number of input parameters is limited by 1024). It means that the space that can have the maximum value to be written in the integer 1024-bit value can be used in the genetic search for the optimal parameters. The protocol of data transfer between the terminal and tester agents has been changed for big indices of the optimized variants.

    Therefore, all previous versions of tester agents will not be able to connect to the cloud network and (or) the client terminal because of the protocol change and will be updated automatically via LiveUpdate system.

  2. Fixed an error leading to incorrect saving of genetic optimization snapshot. The error occurred only on the "fast" mathematical optimizations.
  3. Fixed report on test results when determining losses and profits sequences.
  4. Fixed crash of the client terminal when deactivating the tester agents.

    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 "

24 July 2012

MetaTrader 5 iOS build 674
  • Added support for the Depth of Market.
  • Added support for extended authorization.
  • Added the "Crosshair" mode for easy viewing of the date, price or indicator value at the selected point of the chart.
  • Added display of OHLC prices on charts.
  • Added the Data Window for viewing indicator values at the specified point of the chart.
  • Added the possibility to change an account password.
  • Added Japanese language.
  • Fixed errors.

13 July 2012

MetaTrader 5 Client Terminal build 674

Trading Terminal

  1. Added the ability to post screenshots of charts on When saving a screenshot, just select the appropriate option and the screenshot will be automatically placed on, while a trader will get its address for posting on other websites and forums.

  2. Improved the algorithm of a trend line inclination angle calculation.
  3. Fixed display of available bars number in a chart tooltip.
  4. Fixed display of news with the same publication time.
  5. Added support for canceled deals display.
  6. Fixed display of close button when closing a deal with a volume less than the minimum allowed one.
  7. Fixed spread and tick volume calculation in charts generated by the terminal.


  1. Added OnTradeTransaction entry point - getting information about trade transactions performed for a trade account.

    void OnTradeTransaction(const MqlTradeTransaction& trans,const  MqlTradeRequest& request,const MqlTradeResult& result)

    The entry point is called to transfer the data on the trade transactions performed for a trade account to MQL5 program:

    • adding, modifying, deleting open orders
    • adding, modifying, deleting orders in history
    • adding, modifying, deleting deals
    • modifying a position
    • execution of client's trade requests and getting the results.

    The client terminal stores the history of transactions and consistently transfers them to an Expert Advisor, if an entry point is present. The history is limited to 1024 transactions and cleared during the next connection.

    Note that transactions processing in the terminal is performed independent of transactions processing in MQL5 program. For example, while an Expert Advisor processes a transaction to add a new order, the terminal can at the same time get a transaction to delete the appropriate order and move it to history.

  2. Fixed making long screenshots of charts by MQL5 means (ChartScreenShot function).
  3. Fixed getting an empty last bar for the symbols built by Last prices.
  4. Added checking the presence of available history when executing request functions in synchronous requests of the price history.
  5. Added the function of ArrayFill numeric array filling. The function is an equivalent of memset C function and allows to initialize a memory area as efficiently as possible.
  6. Updated ENUM_SYMBOL_SWAP_MODE enumeration - swaps accrual parameters for open positions - new values added and part of previous ones renamed. Previous enumeration values are still supported for compatibility.
  7. MQL5: Enhanced ENUM_DEAL_TYPE "deal types" enumeration values set. The following values are added:

    • DEAL_TYPE_BONUS - depositing a bonus by a broker
    • DEAL_TYPE_COMMISSION - charging commission by a broker
    • DEAL_TYPE_COMMISSION_DAILY - charging commission by a broker according to trading day results
    • DEAL_TYPE_COMMISSION_MONTHLY - charging commission by a broker according to month results
    • DEAL_TYPE_AGENT_DAILY - depositing the agent's commission according to trading day results
    • DEAL_TYPE_AGENT_MONTHLY - depositing the agent's commission according to month results
    • DEAL_TYPE_INTERESTRATE - depositing accrued interest rate on free funds
    • DEAL_TYPE_BUY_CANCELED - canceled buy deal
    • DEAL_TYPE_SELL_CANCELED - canceled sell deal
  8. Standard Library. Added possibility to manage the list elements in CComboBox class.
  9. Standard Library. Added CCanvas class (MQL5\Include\Controls\Canvas.mqh).

    CCanvas class allows to implement various graphics on custom charts of "Bitmap" and "Bitmap Label" types. In fact, these objects turn into a surface for drawing any image. Thus, it is possible to create custom graphical objects, apart from the ready-made terminal ones.

    The class implements the functions for drawing lines, circles, rectangles, polygons, their filling and filling any area in a specified color. Besides, the client terminal distribution kit now has the example of the class application CanvasSample (MQL5\Scripts\Examples\Canvas\CanvasSample.mq5).

Strategy Tester

Added saving the intermediate data of the genetic optimization - the optimization process will start from where it was stopped, not from the beginning.


  1. Added MQL5 programs profiler - the built-in tool for gathering program parameters during its operation. Attention is paid to such parameters as functions execution time, number of functions calls, separate code fragments execution time. This tool allows programmers to analyze their application, find its critical parts and write more optimal code.

    Profiling results are exported in HTML, CSV and OpenXML formats. To move to a specific code line, just double-click on the appropriate profiling report line.

  2. Fixed comparing files with the contents of MQL5 Storage.

    Fixed errors reported in crash logs.
    Updated documentation.

    The live update is available through the Live Update system.

    The MetaTrader 5 Trading Terminal can be downloaded at "

20 April 2012

MetaTrader 5 iOS build 630
  • Push notifications from the desktop terminal and services
  • Possibility to view received notifications
  • Improved interface
  • Added 16 more technical indicators: Accelerator Oscillator, Accumulation/Distribution, Alligator, Average Directional Movement Index, Awesome Oscillator, Bears Power, Bulls Power, DeMarker, Fractals, Gator Oscillator, Ichimoku Kinko Hyo, Market Facilitation Index, On Balance Volume, Parabolic SAR, Relative Vigor Index, Volumes
  • Adjustable graphical settings of indicators (color, line width)
  • Downloading history data in the background mode without blocking chart navigation
  • Error fixes

14 February 2012

MetaTrader 5 Android build 586
  • Added real-time display of price charts with the ability to navigate and zoom.
  • Redesigned and enhanced the application interface.
  • Added the interface optimized for use on tablet PCs.
  • Fixed errors reported by users.

22 December 2011

New Version of the MetaTrader 5 for iPhone

More languages have been added in the new version of the MetaTrader 5 for iPhone (5.0.540) - it is now also available in Turkish and Traditional Chinese. This will help to cover more users who prefer to use the trading platform in their native language.

In addition, to increase the terminal operating speed, we have reduced the backup size and fixed errors reported by users.

6 December 2011

MetaTrader 5 iOS build 540
  • Ul translated into Turkish, Traditional Chinese
  • Reduced size of the application backup
  • Fixed user-reported errors

21 September 2011

MetaTrader 5 iOS build 507
  • Updated trade dialogs.
  • Translated into Spanish, Italian, French, Arabic and Chinese.
  • Fixed errors reported by users.

16 August 2011

MetaTrader 5 iOS build 485
  • Added technical indicators;
  • Fixed errors.

16 August 2011

MetaTrader 5 iOS build 489 Fixed calculation of the OSMA indicator.

18 June 2011

MetaTrader 5 iOS build 466
  • Added Russian and German;
  • Added support for the portrait mode of charts;
  • Added mode of displaying expanded quote information;
  • Fixed errors.

5 May 2011

MetaTrader 5 iOS build 439
  • Improved network stability;
  • Added server icons;
  • Fixed errors.

3 April 2011

MetaTrader 5 iOS build 421
  • Added charts with navigation and scaling functions;
  • Added offline mode;
  • Fixed errors.