MetaTrader 5 Platform build 1340: Convenient transfer of certificates to mobile devices and Strategy Tester improvements

What's new in MetaTrader 5

13 May 2016


  1. Now certificates used for the advanced security connection can be conveniently transfered from the desktop platform to mobile terminals.

    The trading platform supports extended authentication by protecting a trade account using an SSL certificate in addition to a password. The certificate is a file that is individually generated for an account on the trade server. This file is unique, and account connection is not possible without the certificate.

    In the earlier platform versions, any certificate requested and generated from the desktop terminal needed to be manually copied and installed on the device to enable use of the trading account from the MetaTrader 5 Mobile for iPhone/iPad or Android. Now, certificates can be conveniently transfered.

    The Process of Certificate Transfer
    A certificate is transfered via a trade server:

    • A certificate is first encrypted on the desktop terminal: the account owner sets the password for certificate encryption using the secure AES-256 algorithm. This password is only know to the user, while it is not sent to the server.
    • Further, the encrypted certificate is sent to the trade server, where it is stored until the mobile terminal receives it, but no more than one hour.
    • To receive the certificate on a mobile device, the user must connect to the trading account from the mobile terminal. After connecting, the user is prompted to import the certificate. To proceed with the import, the user needs to specify the password that was used for the certificate encryption on the desktop terminal.

    Certificate transfer process is secure: the trade server is only used as an intermediate storage, while the certificate is encrypted on the client's side. The certificate password is not transmitted to or stored on the trade server.

    How to Transfer a Certificate
    Connect to your account from the desktop terminal and select "Transfer Certificate" in its context menu:

    Enter the master password of the account to confirm that it belongs to you. Next, set a password to protect the certificate before sending it to the server. Set a password that has at least 8 digits.

    After successfully sending the certificate to the server, open the mobile terminal and connect to your account. You will immediately be prompted to import the certificate. Confirm and enter the password that you have set from the desktop terminal.

    You can view the imported certificate in the "About — Certificates" section.
    Updated MetaTrader 5 Platforms for iPhone/iPad and Android supporting certificate transfer will be released soon.


  1. An updated algorithm for the execution of pending orders, as well as SL ans TP, which provides more accurate testing conditions. Advanced options of visual testing.

    What's New for Exchange Instruments
    In the real market, charts of exchange-traded instruments are generated based on Last price information (the price of the last executed deal). Stop Orders also trigger at the Last price. Limit orders trigger at Bid and Ask prices. All types of orders are always executed at the current market Bid/Ask prices. The Strategy Tester has been updated and now better emulates real market conditions:
    Triggering Bid/Ask for all types of Pending Orders and SL/TP
    Bid/Ask for Limit Orders
    Last for Stop, Stop-Limit and SL/TP orders
    Execution The price specified in the order for all types of Pending Orders and SL/TP
    Bid/Ask at the time of order triggering for all types of Pending Orders and SL/TP

    Let us consider an example of the Si-6.16 symbol. A new Buy Stop order with the trigger price = 72580 is set while the current prices are: Bid=72570, Ask=72572, Last=72552. New current prices are received in a price stream:

    • Bid=72588
    • Ask=72590
    • Last=72580

    A trigger for Stop-Orders of exchange instruments is the Last price. So the Last price=72580 received in the stream activates the Buy Stop order. In the earlier versions, the same price would be used to execute this order. This behavior is incorrect, because there is no Ask=72580 in the market to execute the Buy transaction.

    The current Ask=72590 is used in the updated tester version, so the Buy Stop order is executed at this price. The new trade execution algorithm in the Tester is closer to real market conditions. The trade operation would be executed at a non-market price when using the previous algorithm, which would lead to inaccurate testing results.

    What's New for Other Instruments
    The algorithm has not changed for other instruments: Bid/Ask prices are used for all types of pending orders, as well as for SL and TP. However, the execution mode has changed: in earlier versions, orders were executed at the price specified in the order. Now market Bid and Ask prices as of the time of order activation are used.

    What's New in Visual Testing
    During visual testing, the bar's High Ask and Low Bid price lines are now shown in the tester. On such charts, it is more convenient to test Expert Advisors that trade exchange instruments, because bars of such instruments, as well as order triggering are based on the Last prices, while market operations are executed at Bid and Ask prices.

    New option on the visual testing chart: navigation to a specified date. Double-click on the chart and enter the desired date and time. It is also possible to navigate to any order or trade: double-click on the appropriate trading operation on the Trade, History or Operations tab.
  2. Expanded logging of information about price and tick history loaded before testing start. The log now contains information about the completion of history loading, as well as the amount of data downloaded and time spent:
    2016.05.10 12:47:53    Core 1    5.10 Mb of history processed in 0:00.842
    2016.05.10 12:47:53    Core 1    GBPUSD: history synchronization completed [5225 Kb]


  1. Fixed behavior of the CopyTicks function: it could return fewer ticks than was requested.
  2. Fixed generation of template functions.
  3. Updated documentation.

Fixed errors reported in crash logs.