What's new in MetaTrader 5

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

19 February 2013
MetaTrader 5 Trading Terminal build 773

Trading Terminal

  1. Added one click trading panel:

    Added one click trading panel

    To show/hide one click trading panel, use the icon in the upper left corner or a context menu command.

  2. Added automatic display of trading transactions on charts:

    Added automatic display of trading transactions on charts

    Setting display of trading transactions on charts

  3. Fixed calculation of statistics in trading and tester reports.
  4. Added translation of the user interface into Romanian.

  5. Trading Signals

  6. Added command for refreshing the list of available signals in the signals showcase:

    Added command for refreshing the list of available signals in the signals showcase

  7. Optimized download of available trading signals' database.
  8. Improved matching of Forex symbols like EURUSDx when using a signal - transformations of the form EURUSDx => EURUSDy are now supported.
  9. Fixed drawing minicharts in the showcase of signals

MQL5

  1. Fixed text binding by anchor parameter in TextOut function.
  2. Fixed calling virtual functions during recursion.
  3. Added CHART_DRAG_TRADE_LEVELS chart property (available via ChartGetInteger and ChartSetInteger functions) - enabling/disabling modification of orders by dragging trading levels with the mouse.
  4. Fixed a compiler error in case a class does not have a constructor body.
  5. Changed TextSetFont function behavior - now, size parameter specifies the number of deciles of a font size. For example, if the value of 12 has been previously used as a size, it will be necessary to specify 120 now. Improved fonts display.
  6. Standard Library. Fixed setting default order expiration type in CTrade class when trading futures.
  7. Standard Library. Added TextSize method to CCanvas class - receiving the size of a specified string in pixels.
  8. Standard Library. Parametrized CreateBitmap and CreateBitmapLabel methods are added to CCanvas class - creating Bitmap and BitmapLabel graphical objects.
  9. Standard Library. Fixed errors in closing the panel in CAppDialog class.

Stratagy Tester

  1. Added processing OnTimer event when handling optimization result frames. Added MQL5_FRAME_MODE value to ENUM_MQL5_INFO_INTEGER enumeration in order to define the period when an Expert Advisor operates in the mode of gathering optimization result frames. This is necessary for the proper operation of OnChartEvent and OnTimer event handlers' functions.
  2. Added prohibition for using testing agents working on virtual OS in MQL5.Cloud.

MetaEditor

  1. Fixed MetaAssist freezing when working with large source files.

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.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

26 January 2013
MetaTrader 5 Trading Terminal build 756

Trading Terminal

  1. Chart scale is now multiple of the symbol's tick size for the trading symbols having fixed tick size (futures).

    Chart scale is now multiple of the symbol's tick size for the trading symbols having fixed tick size

  2. Fixed display of the client's deposit currency in Exposure tab.
  3. Added support of the trading symbols accurate to 8 decimal places.
  4. Fixed trading dialog behavior when selecting a symbol, for which trading is disabled.
  5. Added display of allowed order types, execution and expiration modes to the information about a trading symbol.

    Added display of allowed order types, execution and expiration modes to the information about a trading symbol

  6. Fixed an error leading to the ability to use a mouse for moving the graphical objects invisible to the current time frame.

    Trading Signals

  7. Added visualization of signal's trading history on the terminal's charts:

    Added visualization of signal's trading history on the terminal's charts

    After clicking "Visualize", the client terminal automatically downloads the signal's trading history, opens appropriate charts and displays signal's deals as graphical objects in the same way as it is done for the trading account's history of the client terminal.

  8. Fixed and improved display of charts in the information about the signal. Charts now have the look similar to the one on MQL5.com. The trend line has also been added.

    Fixed and improved display of charts in the information about the signal

  9. Changed the algorithm for calculation of the copied deal's volume in case a Signal Source and a Subscriber have different leverages:

    Current algorithm:A deal volume is changed in direct ratio to the correlation of a Signal Source's leverage with a Subscriber's one. It means that if a Signal Source having a leverage of 1:100 opens a deal of 1 lot, a Subscriber having a leverage of 1:500 will open a deal of 5 lots in case of 100% copying and a deposit matching by size and currency. A subscriber having a leverage of 1:10 will open a deal of 0.1 lots in similar conditions.

    New algorithm:If subscriber's leverage exceeds the one of the Signal Source, it does not affect a volume of a copied deal. Otherwise, the deal volume is changed in direct ratio to the correlation of a Signal Source's leverage with a Subscriber's one.

    It means that if a Signal Source having a leverage of 1:100 opens a deal of 1 lot, a Subscriber having a leverage of 1:500 will open a deal of 1 lot in case of 100% copying and a deposit matching by size and currency. A subscriber having a leverage of 1:10 will open a deal of 0.1 lots in similar conditions.

  10. Fixed sorting of the signal list by the average profit.
  11. Fixed information about a signal when working under Wine (Linux and Mac).
  12. Fixed deposit currency conversion when subscribing to the signal with a deposit currency different from the Subscriber's one.

    MQL5 Market

  13. Fixed errors in shortcuts of MQL5 Market applications and screenshots.

MQL5

  1. Added TextOut, TextSetFont and TextGetSize functions:
  2. TextOut function transfers the text to the custom array (buffer) and returns the operation result. This array is designed for creation of a graphical resource.
    bool  TextOut(
       const string       text,          // displayed text
       int                x,             // X coordinate 
       int                y,             // Y coordinate 
       uint               anchor,        // anchor type
       uint               &data[],       // output buffer
       uint               width,         // buffer width in pixels
       uint               height,        // buffer height in pixels
       uint               color,         // text color
       ENUM_COLOR_FORMAT  color_format   // color format for output
       );
    TextSetFont function sets the font for displaying the text using drawing methods and returns the operation result.
    bool  TextSetFont(
       const string  name,            // font name or path to font file on the disk
       uint          size,            // font size
       uint          flags,           // combination of flags
       int           orientation=0    // text slope angle
       );
    TextGetSize function returns the line width and height at the current font settings.
    bool  TextGetSize(
       const string       text,          // text string
       uint&               width,        // buffer width in pixels
       uint&               height        // buffer height in pixels
       );
  3. Fixed loading the libraries using OpenCL.
  4. Fixed operation of CopyRates function when requesting the data exceeding the limitation of the terminal settings - the error is returned instantly instead of waiting for server call results.
  5. Fixed analysis of indicator_color property of a custom indicator.
  6. Standard Library. Added methods for working with text and fonts in CCanvas class.
  7. Standard Library. Added methods for working with CHART_IS_OBJECT and CHART_MOUSE_SCROLL chart properties in CCanvas.CChart class.

Strategy Tester

  1. Fixed defining the number of optimization steps which led to untimely optimization stop.
  2. Fixed support of hot keys when working with a chart in test visualization mode.
  3. Improved processing of test errors, increased the number of error messages saved in the tester log.
  4. Fixed order list update in test visualization mode.

MetaEditor

  1. Fixed display of special characters in file names in open document tab headings.

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.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

16 January 2013
MetaTrader 5 iPhone build 735
  1. Added ability to arrange a chat conversation with any registered MQL5.com user. To do this, specify MetaQuotes ID in MQL5.com profile.
  2. Added categorization of messages. All messages received from the system are divided into 5 types according to their senders: Chat, Broker, Terminal, Community and Other.
  3. Added support for background mode. When the application is closed, it switches to the background mode saving the current operating state. The next launch of the application occurs almost immediately from where it was stopped.
  4. Optimized traffic usage
  5. Added quick view of an account summary data
  6. Added Polish and Czech languages
  7. Added the audio signal when receiving a push notification. The signal can be disabled in notification settings.
  8. Fixed errors.

Full text of news - New MetaTrader 5 iPhone Features Chat with MQL5.com Users, Classification of Messages and Much More

The MetaTrader 5 for iPhone can be downloaded at https://download.mql5.com/cdn/mobile/mt5/ios?hl=en&utm_source=www.metatrader5.com

18 December 2012
MetaTrader 5 Trading Terminal build 742

Trading Terminal

  1. Sped up initial downloading and repacking of price history from trading server.
  2. Fixed displaying of scrollbars and tooltips when working under Wine (Linux and Mac).
  3. Permission to use "One-click trading" is now stored separately for each trading account, not for the entire terminal.
  4. Fixed handling of alerts in form of Push messages. Now, description of alert is filled out automatically on sending.
  5. Fixed and optimized the operation of MQL5.com services when working via proxy servers.
  6. Added translation of online help into Bulgarian. Updated translations of user interface into other languages.

  7. Trading Signals

  8. Added filtering by signal age and by type of signal source account in the signals showcase. Added color highlighting of signals by type of signal source account:

    • Yellow - real account
    • Green - demo account
    • Blue - contest account

    Also added the command for quick search of a description of the signal the account is subscribed to - "My Subscription".

    Also added the command for quick search of a description of the signal the account is subscribed

  9. Added subscription renewal feature. Expanded information about the current subscription.

    Added subscription renewal feature

  10. Increased the maximum leverage for the sources of trading signals available for subscription - from 1:100 up to 1:500.
  11. Modified behavior for received requotes and other errors when synchronizing positions and executing signals. When requote is received, a retry of trading operation is performed with an increased allowed slippage (0.5 of current spread for the instrument).
  12. Added warning in terminal journal log if there is a mismatch of lot increment, minimum and maximum allowed lot values ​​in instruments of signal's source and subscriber.
  13. Fixed copying of signals when working with instruments with partial execution.
  14. Added sending of Push notifications on the terminal's initial synchronization with a trading signal and on trading operations performed by the terminal when copying the signal.
  15. Fixed an error that did not show the signals list if MQL5.community account was not specified.
  16. Fixed an error that in some cases could lead to the absence of "Signals" tab.

  17. MQL5 Market

  18. Fixed search error that allowed searching in products not available for purchase.

MQL5

  1. Added new function ArrayCompare:

    int ArrayCompare(const void &src1[],const void &src2[],uint start1=0,uint start2=0,uint count=WHOLE_ARRAY);

    Compared are arrays of simple types or custom structures without complex objects (strings, dynamic arrays, classes or other structures with complex objects). This function works only with arrays of the same type src1 and src2. When src1 is of type char and src2 is of type uchar, the error 302 "type mismatch" will occur.

  2. Added the CHART_IS_OBJECT chart property (for the ChartGetInteger function) - it indicates that a chart is the "Chart" graphic object.
  3. Added the CHART_MOUSE_SCROLL chart property (for the ChartGetInteger and ChartSetInteger functions) - it enables/disables scrolling of chart using a mouse. This property can be used when implementing graphical user interface in MQL5 programs.
  4. Fixed an error that in some cases led to a stack overflow during MQL5 programs execution.
  5. Changed OpenCL benchmark system: when OpenCL device(s) configuration is changed (including at the first run), terminal runs a test that determines device(s) performance and stores information in the registry.

    To automatically select the most efficient device, call the function of creating OpenCL context and specify CL_USE_ANY as the device number.

  6. Fixed the 'invalid EX5' message when using template functions.

Strategy Tester

  1. Results of main optimization and forward optimization are now displayed on different tabs of tester window. This allows an easier navigation in results of forward optimization.

    Results of main optimization and forward optimization are now displayed on different tabs of tester window

  2. MQL5 Cloud Network. Extended set of runtime error messages. This allows a better understanding of what caused the program failure.
  3. MQL5 Cloud Network. Increased amount of program execution statistics for more efficient tasks allocation.
  4. Added ability to load custom indicators "on demand" for cases when it is impossible to determine if some indicators have to be used with the #property test_indicator <indicator_name> or iCustom(<indicator_name>...) instructions.
  5. Forward testing settings can now be applied to a single test pass.

    Obtained two sets of results - from start date up to forward date and from forward date up to end date (instead of one set of results from start date up to end date) - accurately repeat the appropriate lines in optimization results with the enabled forward period. This feature is not yet provided in visualization mode.

  6. Fixed accounting of results when optimizing by the "Balance + min Drawdown" criterion.

MetaEditor

  1. Fixed hotkeys behavior in active MetaAssist windows.
  2. Improved MetaAssist behavior with MQL5 programs properties (#property).
  3. Modified displaying of char type variables in debugger. If value corresponds to a printable character, this character is also displayed.

    Modified displaying of char type variables in debugger

  4. Fixed displaying of sinput variables in debugger.
  5. MetaAssist now displays properties and methods of objects that have referencing by index in arrays.
  6. Added commands to navigate between previously opened documents - Navigate Forward and Navigate Backward:

    Added commands to navigate between previously opened documents - Navigate Forward and Navigate Backward

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.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

10 December 2012
MetaTrader 5 Android build 725
  1. Added "Data Window" and OHLC prices in addition to crosshair
  2. Added feature of changing password
  3. Improved mechanism of getting list of available servers
  4. Fixed errors reported by users.

Full text of news - Updated MetaTrader 5 Android Features Data Window and OHLC Prices.

The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com

30 November 2012
500 000 Traders Use MetaTrader 4 and MetaTrader 5 Mobile Terminals

Over half a million of traders from all over the world currently use MetaTrader 4 and MetaTrader 5 mobile terminals in their trading activity. This figure is the most objective proof of the high quality and functionality of the mobile applications developed by MetaQuotes Software Corp.

83 000 traders use MetaTrader 5 terminals, while 418 000 traders use MetaTrader 4. This statistical data includes the terminals both for iPhone and Android devices. Though both mobile platforms have almost similar functionality, the wider popularity of MetaTrader 4 is obvious. This can be explained by widespread distribution of the platform on the market.

"We are glad that we managed to release the applications that have become so popular. Positive statistical data suggests that we are on the right track, and we should continue our development in this direction" - said Gaies Chreis, company COO.

500 000 Traders Use MetaTrader 4 and MetaTrader 5 Mobile Terminals

The statistical data has been gathered during the last six months from the time when MetaQuotes ID was introduced in the mobile terminals. These unique identifiers have been designed to send service messages to traders' terminals. They also allow defining the number of actually used terminals. MetaQuotes ID is assigned to a mobile terminal only when it is launched. In other words, statistics consider only the terminals that have been actually launched and used.

Download and, most importantly, use MetaTrader 4 and MetaTrader 5 mobile terminals. Have a nice trend!


24 November 2012
MetaTrader 5 Trading Terminal build 730

Trading Terminal

  1. Fixed connection to MQL5.community in case of extra spaces in account login.
  2. Added chart vertical positioning using Up and Down keys in case of a fixed scale.

  3. Trading Signals:

  4. Changed signal list display. The signals installed on the server of the broker, to which the terminal corresponds, are now displayed by default. In case of the signals' absence, the ones installed on MetaQuotes demo server are displayed. Select "Full Signal List" in the signals context menu to see the complete signal list.


    The signals installed on the server of the broker, to which the terminal corresponds, are now displayed by default

  5. Added limitation on subscription to trading signals. Subscription to signals with leverage exceeding 1:100 is not permitted. This has been done to prevent users from subscribing to unreasonably risky strategies.
  6. Fixed automatic transformation of EURUSD* type Forex trading symbols. If a signals source has positions at EURUSD! symbol, while a subscriber trades on EURUSD (or vice versa), the terminal will automatically detect the similarity of the trading symbols changing their names when copying the signal.
  7. Fixed the warning dialog about the automatic synchronization of positions with a trading signal in case of several re-synchronizations within one working session of the terminal.

MQL5

  1. Fixed an error causing the inability to create an indicator using IndicatorCreate function.
  2. Added support for storing indicators in EX5 resources. In this case, the indicators in the resources will not be able to work with their own resources.
  3. Fixed zero suppression when re-entering numeric parameters of MQL5 programs.
  4. Standard Library. Fixed CExpertMoney::CheckOpenShort method for short position's volume calculation.

Strategy Tester

  1. Fixed freezing when working in Wine (Linux and Mac).
  2. Fixed test report display when working in Wine (Linux and Mac).

MetaEditor

  1. Fixed restoring the input focus in a document after using MetaAssist with subsequent closing of the dialogs.

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.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

16 November 2012
MetaTrader 5 Trading Terminal build 722

Trading Terminal

  1. Added "Test" command to the context menu of MQL5 applications - enabling Strategy Tester with an MQL5 application selected for testing.

    Added Test command to the context menu of MQL5 applications

  2. Fixed trailing stop operation for pending orders.
  3. Fixed MQL5 Market product list update.
  4. Added the percentage value of the last deal's price change relative to its previous value into the trading symbol's price statistics.
  5. Fixed navigation through a chart in case of a specified fixation point.
  6. Fixed the terminal operation in corporate networks having proxy servers.

Trading Signals

  1. Added automatic conversion of EURUSD* type Forex trading symbols. If a signals source has positions at EURUSD! symbol, while a subscriber trades on EURUSD (or vice versa), the terminal will automatically detect the similarity of the trading symbols changing their names when copying the signal.
  2. Added display of active orders and signal positions in the signal's description.

    Added display of active orders and signal positions in the signal's description.

  3. Added the dialog of consent to synchronize positions on a subscriber's account with signal's ones in case of a positive floating profit on a signal provider's account:

    Added the dialog of consent to synchronize positions on a subscriber's account with signal's ones in case of a positive floating profit on a signal provider's account

    By default, synchronization is allowed only if the floating profit on the provider's account is not positive. This ensures that the signal subscriber can enter the market at a price that is not worse than the provider's one during synchronization of positions. Thus, the appropriate dialog window is shown before synchronization where traders can enable forced synchronization of positions with the signal, despite the positive floating profit.

  4. Added the dialog of automatic closing of positions and orders on a subscriber's account before synchronizing with signal provider's positions and orders:

    Added the dialog of automatic closing of positions and orders on a subscriber's account before synchronizing with signal provider's positions and orders

    Before synchronization, subscribers should close positions and remove orders opened manually or based on another signal. If open positions or pending orders unrelated to the provider's signals are detected, the client terminal will offer to remove all pending orders and close all positions automatically at the current price. However, traders can perform all necessary actions manually.

MQL5

  1. Added support of template functions and methods.

    Templates can be compared with a macro (#define) representing an entire function instead of an expression. A template is inserted into the code in case the template function is called based on this call's parameters.
    A separate function (with its own static variables) is added by the compiler for each of the existing sets of the template function call's parameters present in the code.

    Example of the template function for calculation of the array's highest value:
    template<typename T>                       // В < > указываются параметры шаблона через запятую, не более 8.
    T ArrayMax(const T &data[],const T defval) // В качестве параметра может выступать только тип
      {
       T    result=defval;
       uint size  =ArraySize(data);
    //---
       for(uint i=0;i<size;i++)
         {
          if(result<data[i])
            {
             result=data[i];
            }
         }
    //---
       return(result);
      }
    Keep in mind that automatic reduction of parameters is not allowed when a template function is called. The parameter type should be clearly defined. For example, when calling ArrayMax function for char type array and CHAR_MIN as defval, the second parameter's type should be clearly defined as char:
    char a[];
       
       Print(ArrayMax(a,CHAR_MIN));       // ошибка, невозможно применить шаблон, т.к. T может быть или char или int
       Print(ArrayMax(a,(char)CHAR_MIN)); // ошибки нет, параметр шаблона T может быть только char
    Number of template parameters cannot exceed 8. Insertion of templates into the code is performed only by call parameters, evident template typification is not performed.
    Example of evident typification:
    Print(ArrayMax<char>(a,CHAR_MIN));  // Явная типизация шаблона пока не доступна!
  2. Enhanced integer properties received by CLGetInfoInteger function:

    • CL_DEVICE_VENDOR_ID  - OpenCL device vendor ID
    • CL_DEVICE_MAX_COMPUTE_UNITS  - number of OpenCL device computational units
    • CL_DEVICE_MAX_CLOCK_FREQUENCY - frequency of OpenCL device computational units
    • CL_DEVICE_GLOBAL_MEM_SIZE - size of the global memory of OpenCL device
    • CL_DEVICE_LOCAL_MEM_SIZE - size of the local memory of OpenCL device

  3. Added CLGetInfoString returning the following OpenCL properties:

    • CL_PLATFORM_PROFILE - OpenCL platform profile type
    • CL_PLATFORM_VERSION - OpenCL platform version
    • CL_PLATFORM_NAME - OpenCL platform name
    • CL_PLATFORM_VENDOR - OpenCL platform vendor name
    • CL_PLATFORM_EXTENSIONS - OpenCL platform possibilities (extensions)
    • CL_DEVICE_NAME - OpenCL device name
    • CL_DEVICE_VENDOR - OpenCL device vendor name
    • CL_DRIVER_VERSION - OpenCL device driver version
    • CL_DEVICE_PROFILE - OpenCL device profile type
    • CL_DEVICE_VERSION - OpenCL device version
    • CL_DEVICE_EXTENSIONS  - OpenCL device possibilities (extensions)
    • CL_DEVICE_OPENCL_C_VERSION - supported version of OpenCL compiler
  4. Added CLExecute overload function allowing users to specify dimensions of OpenCL local space of tasks.
  5. Fixed ArrayFill function operation.
  6. Removed warning when using an uninitialized variable in sizeof() function.
  7. Improved  __FUNCSIG__ macro - added notification of the fact that parameters are arrays, as well as of their constancy.
  8. Standard Library. Fixed CCanvas::FillRectangle method.
  9. Standard Library. The classes for working with files are transformed using template methods.
  10. Standard Library. Added support of operator [] in CArray* dynamic array classes.
  11. Standard Library. Enhanced CCheckGroup class methods - "checkbox group" control element.
  12. Standard Library. Added CIndicator::BarsCalculated method.

Strategy Tester

  1. Added the tester's compatibility with Wine.
  2. Added additional checks for disk errors during the tests.
  3. Fixed generation of week bars for trading symbols with a quote session on Sundays.
  4. Fixed generation of week and month bars - the bar time has sometimes been set incorrectly.
  5. Cloud agent having less than 100 megabytes of available disk space cannot execute the tasks.
  6. Removed log messages on charging commission during optimization.
  7. Fixed settings dialog behavior when testing an indicator.
  8. Fixed optimization chart display in case of a large number of passes.

MetaEditor

  1. Added support of template functions and methods in MetaAssist.

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.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

29 October 2012
MetaTrader 5 Android build 709
  1. Added support for push notifications
  2. Fixed the trading dialog error that did not allow to trade using Android 2.x powered tablets
  3. Fixed minor errors

Full text of news - MetaTrader 5 for Android Provided with Extended Authorization, "Crosshair" Mode and the Ruler.

The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com

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.

MQL5

  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 LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

5 October 2012
MetaTrader 5 Trading Terminal build 705

Trading Terminal

  1. The MetaTrader 5 Client 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.

MQL5

  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.

MetaEditor

  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 LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

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

Full text of news - MetaTrader 5 Android enhanced - now with Push notification support!

The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com

18 September 2012
MetaTrader 5 Android build 697
  1. 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.
  2. Added support for small and large-pixel screens.
  3. Improved operational stability and user interface.

Full text of news - The latest version of MetaTrader 5 for Android now has the full set of technical indicators!

The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com

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.

MQL5

  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.

MetaEdtor

  1. MetaEditor: Added support for projects in MQL5.com

    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 MQL5.community and connect to MQL5 Storage.

    Projects in MQL5.com

    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 (https://storage.mql5.com/svn/Personal/<MQL5.community account>/MQL5).
    All projects are stored in a separate section https://storage.mql5.com/svn/Projects/

    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 MQL5.community login.

    Collaboration over the project in MetaEditor

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

  3. Fixed MetaStyler operation - considering interline alignment for the lines beginning from #.
  4. Fixed errors occurred when working with MQL5.Strorage.
  5. 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 https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

3 August 2012
MetaTrader 5 Client 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.

MetaEditor

  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 LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

1 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 MQL5.com website when working in older Windows XP versions.
  7. Updated translation of the client terminal into Bulgarian.

MQL5

  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.

MetaEditor

  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 MQL5.com 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 https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

27 July 2012
MetaTrader 5 iPhone build 674
  1. Added support for the Depth of Market.
  2. Added support for extended authorization.
  3. Added the "Crosshair" mode for easy viewing of the date, price or indicator value at the selected point of the chart.
  4. Added display of OHLC prices on charts.
  5. Added the Data Window for viewing indicator values at the specified point of the chart.
  6. Added the possibility to change an account password.
  7. Added Japanese language.
  8. Fixed errors.

The MetaTrader 5 for iPhone can be downloaded at https://download.mql5.com/cdn/mobile/mt5/ios?hl=en&utm_source=www.metatrader5.com

13 July 2012
MetaTrader 5 Client Terminal build 674

Trading Terminal

  1. Added the ability to post screenshots of charts on MQL5.com. When saving a screenshot, just select the appropriate option and the screenshot will be automatically placed on www.mql5.com, 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.

MQL5

  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.

MetaEditor

  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 LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

6 June 2012
MetaTrader 5 Client Terminal build 655

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

    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 MQL5.community website at the client terminal toolbar.


    MQL5.community 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.

MQL5

  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:

    • ORDER_FILLING_AON  renamed as ORDER_FILLING_FOK
    • ORDER_FILLING_CANCEL renamed as ORDER_FILLING_IOC
  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.

MetaEditor

  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 https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

24 April 2012
MetaTrader 5 Trading Terminal build 642

Trading Terminal

  1. Added global search in the client terminal and at MQL5.com.

    The Search in the terminal allows you to quickly find information in all sections of the client terminal, Code Base and MQL5.com.
    It is a case-insensitive search for a substring. The search is performed in the sections selected in the search parameters:

    Global search in the Client Terminal and at MQL5.com

    The context menu of the search results tab contains additional commands, which depend on the type of results:

    Search result in the MetaTrader 5 Client Terminal

  2. Fixed display of order volumes in the Market Depth for partially filled orders.
  3. Fixed checking of the expiry price of a pending order in the pending order placing dialog.

MQL5

  1. Added asynchronous sending of trade requests OrderSendAsync.

    Using this feature allows to speed up placing of trade requests, and especially when placing mass request, since in this case there is no need to wait for the results of the previous request when placing a new one. Because of its asynchronous nature, this function is not suitable for placing market orders for symbols with the Request execution mode.

    The function performs the initial verification of a request on the side of the client terminal and enqueues it to send to the trade server without waiting for the results of sending and receiving of confirmation from the server.

    If necessary, the operation of the function on the server is monitored by an Expert Advisor by handling the OnTrade event.

  2. Added a trading symbol property SYMBOL_ISIN (getting through the SymbolInfoString function) - the name of the trading symbol in the international system of securities identification numbers.

    ISIN, International Securities Identification Number is a 12-digit alphanumeric code that uniquely identifies a security.

    The availability of this symbol property is defined on the trade server side.

Strategy Tester

  1. Extended report of testing results - added MFE-Profit Correlation, MAE-Profit Correlation and MFE-Profits and MAE-Profits distribution graphs.

    Added MFE-Profit Correlation, MAE-Profit Correlation and MFE-Profits and MAE-Profits distribution graphs

    Maximum Favorable Excursion (MFE) - is the maximum potential profit reached while holding a position.

    MFE-Profit Correlation - a correlation between the position returns and MFE. Each trade had its maximal profit and maximal loss between opening and closing. MFE shows profit in the favorable excursion of the price. Each trade is corresponded with its return and with two parameters - MFE and MAE. Thus, we can draw each trade on a plane where MFE is plotted along the Х-axis, the return is plotted along the Y-axis. The closer is the return to the MFE, the more complete was the favorable excursion of the price was used. The straight on the graph shows approximation by function Profit=A*MFE+B. The Correlation(Profits,MFE) allows to estimate relation between the profits/losses and the MFE. The closer to 1 is this value, the better will the trades fit into the approximation straight. The closer to zero it is, the less considerable is this relation. MFE characterizes the ability to realize potential profit.

    Graph of MFE-Profits Distribution - points plotted on the graph MAE (X-axis) - Profits (Y-axis) indicate positions. Values of both axes are given in the deposit currency. Thus, for each transaction we see not only the acquired profit value including swaps along the Y-axis, but also maximally possible profit during the position lifetime. It allows us to estimate the quality of protection of the paper (unrealized) profit. Though the distribution of points along the chart gives a satisfactory view of the trade system, a linear regression, which is a least squares approximation, is given for an objective assessment. Ideally, the line should make with the X-axis an angle of 45 degree.

    Maximum Adverse Excursion (MAE) is the maximum potential loss reached while holding a position.

    MAE-Profit Correlation - a correlation between the position results and MAE. MAE - Maximum Adverse Excursion. Each trade reached its maximal profit and maximal loss between opening and closing. MAE shows the loss during the adverse excursion of the price. Each trade is corresponded with its return and with two parameters - MFE and MAE. Thus, we can plot each trade on a plane where MAE is plotted along the Х-axis, the return is plotted along the Y-axis. The closer is the return to the MAE, the more complete was the protection against the adverse excursion of the price. The straight on the graph shows approximation by function Profit=A*MAE+B. The Correlation(Profits,MAE) allows to estimate relation between the profits/losses and the MAE. The closer to 1 is this value, the better will the trades fit into the approximation straight. The closer to zero it is, the less considerable is this relation. MAE characterizes the drawdown obtained within the position lifetime and characterizes the use of protective Stop Loss best of all.

    Graph of MAE-Profits Distribution - Points plotted on the graph MAE (X-axis) - Profits (Y-axis) indicate positions. Values of both axes are given in the deposit currency. Thus, for each transaction we see not only the acquired profit value including swaps along the Y-axis, but also the maximal drawdown within the position lifetime. It allows us to estimate the transaction according to drawdown waiting out. Though the distribution of points along the chart gives a satisfactory view of the trade system, a linear regression, which is a least squares approximation, is given for an objective assessment. The less trades have negative values X (MAE), the better. It also allows making a decision based on the graphical analysis about maximally accepted losses, after which the possibility of taking profit is very small (if the analysis is carried out on the same currency pair and in points).

  2. In the visual tester implemented automatic addition of the used indicators to the charts of other symbol-periods.
  3. Fixed a bug when stopping visual testing of multicurrency Expert Advisors, which led to numerous messages "stopped by user" in the tester Journal.
  4. Fixed optimization crash when adding a new testing agent during optimization.

MetaEditor

  1. Enhanced MQL5 Storage control functions.

    Added new commands for managing the storage of source files that make the use of the MQL5 Storage even more convenient:

    Added new commands for managing the storage of source files

    • Update to revision - selected files are supplemented with information from the files in the specified revision. In files with identical names data are merged. If files have been added to a revision, they will be added to the local copy. If files have been deleted from a revision, they will be deleted from the local copy.
    • Revert to revision - selected files are replaced by the files from the specified revision. All changes made to the selected files disappear.

      Revert to revision

    • Compare with the working copy - files of a selected revision are compared with their current state on the local computer.
    • Compare with previous revision - compare the current and the previous revision of the files.
    • Compare two revisions - compare file changes in two specified revisions.

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.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

123456789101112131415