What's new in MetaTrader 5

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

2 November 2013
MetaTrader 5 Trading Terminal build 871

MQL5

  1. Fixed an issue that prevented testing of experts containing custom indicators in the form of a resource . Error affected including experts from MQL5 Market.
  2. Added support for conditional compilation # if [n] def, # else and # endif.
  3. Added macros _DEBUG and _RELEASE, when compiled *. Mq5 macro __ MQL5__, when compiled *. Mq4 __ MQL4__.

Market

  1. Optimized with MQL5 Market when using multiple instances of the client terminal.

Strategy Tester

  1. Fixed display of tabs and test results when testing the indicator.
  2. Fixed display of signatures by using the cursor in the "crosshairs" to measure the distance between the bars in the visual test.
  3. Fixed crash tester at the completion of testing.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

24 October 2013
MetaTrader 5 build 868: Unconditional Synchronization of Signal Positions and Fixing Errors

Trading Terminal

  1. Added automatic setting of the alert expiration time when placing it via the depth of market.
  2. Fixed display of the depth of market in the extended mode when showing trading symbols with a large spread.
  3. Fixed display of search results in the terminal working under Wine (Linux and Mac).

MetaTrader Trading Signals

  1. Added the option for unconditional synchronization of positions between a signal source and a subscriber's account. If enabled, synchronization of positions (including closing open positions not related to the signal) during the initial synchronization of the subscriber's and signal source's state is performed without additional confirmation.

    Added the option for unconditional synchronization of positions between a signal source and a subscriber's account

    Thisption is necessary when using signals on VPS (Virtual Private Server). It can also be used to increase the synchronization reliability when working with the already selected signal.

MQL5

  1. Removed unconditional display of the symbol name in Chart graphical object.
  2. Fixed ConvertTimePriceToXY function behavior - now, ERR_CHART_WRONG_PARAMETER error code is returned in case correct calculation is impossible.
  3. Standard Library. Fixed CIndicators::TimeframesFlags method.
  4. Standard Library. Controls. Now, drop-down lists are always displayed on top of other controls.

Strategy Tester

  1. Fixed testing stop when using custom indicators with an infinite loop in OnInit entry point.

MetaEditor

  1. Fixed errors causing a memory leak during the mass replacements of a substring in a document.
  2. Fixed an error in the custom indicator generation wizard that added OnTradeTransaction entry point.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

4 October 2013
MetaTrader 5 Trading Terminal build 858: Push Notifications of Transactions and Alerts on the Chart

Trading Terminal

  1. Added ability to send push notifications of transactions occurring on the client account: placing, changing and removing orders and deals, activation of pending orders and SL-TP, margin call and stop-out events.

    Added ability to send push notifications of transactions occurring on the client account

    Added ability to send push notifications of transactions occurring on the client account

  2. Added display and managing alerts from the chart.

    Added display and managing alerts from the chart

    When management of trading levels from the chart is allowed, alert's price value can be changed by its dragging to a new price level. Alerts can be disabled or removed using a context menu of the appropriate level on the chart.

  3. Added a tooltip having stop and limit prices for stop-limit orders in the list of open orders and positions.
  4. Added ability to sort a symbol list in Symbols dialog.
  5. Added the possibility to scale the price chart using the mouse wheel while holding down Ctrl button.
  6. Improved display precision of Gann and Fibonacci graphical objects and their levels.
  7. Improved the vertical scaling algorithm for tools having a set price increment.
  8. Fixed errors in displaying the interface in Wine (for Linux, Mac).
  9. Fixed errors in generating trailing stop placing menu.
  10. Fixed an error in closing a chart having a custom indicator that could sometimes lead to lagging when closing a chart.
  11. Fixed display of text news in the news dialog.
  12. Fixed an error that sometimes hindered from publishing screenshots on MQL5.com website.
  13. Fixed assignment of "hot keys" for the built-in indicators.
  14. Updated translation of the interface into Bulgarian and Italian.

Trading Signals

  1. Fixed subscription to signals in Wine (for Linux, Mac).

MQL5

  1. Now, CHARTEVENT_CHART_CHANGE event is generated when the chart's scale is changed.
  2. Added MQL5_MEMORY_LIMIT(available via MQL5InfoInteger function) - it returns the maximum amount of dynamic memory for an MQL5 program in megabytes. This limitation applies only to the dynamic objects of MQL5 applications (arrays, objects, strings).
  3. Multidimensional arrays of primitive types can now be initialized by a one-dimensional sequence:
  4. int a[2][2]={0,1,2,3}; 

    Previously, the following entry has been necessary

    int a[2][2]={{0,1},{2,3}};
  5. Fixed an error when the call of Bars() function sometimes did not lead to reconfiguration of the price history caches when it was necessary.
  6. Fixed passing the link to the array of pointers.
  7. Fixed FileSeek function operation when using SEEK_CUR flag and reading from file till this function is called.
  8. Standard Library. Added CFlameCanvas class ("Include\Canvas\FlameCanvas.mqh") and an example of its application called Flame Chart ("Indicators\Examples\Canvas\FlameChart.mq5") - this example demonstrates the possibilities of generating custom images on the chart by means of MQL5.

  9. Example demonstrates the possibilities of generating custom images on the chart by means of MQL5

Strategy Tester

  1. Fixed initial deposit's value reset in the testing window when changing its size.
  2. Fixed testing stop when using custom indicators with an infinite loop in OnInit entry point.
  3. Fixed filtering deals in the history tab of the visual tester. The error has occurred in case there have been deals at more than two symbols.
  4. Fixed recalculation of custom indicators simultaneously working on a single symbol with different time frames.

MetaEditor

  1. The works on using the single compiler and MQL5 IDE for MetaTrader 4 and MetaTrader 5 are underway:

    MQL5 on MetaTrader 4 and MetaTrader 5

    Instead of working on MQL4 -> MQL5 compatibility, we have decided to go the opposite way. We have transferred the maximum possible amount of MQL5 language functions and features fully preserving MQL4 functionality. In other words, all powerful MQL5 functions, including ООP and the native code compiler, will become available in MQL4. To achieve this, we have developed a unified compiler that automatically supports both MQL4 and MQL5 languages. MetaEditor will also become a unified application both for MetaTrader 4 and MetaTrader 5 platforms. Thus, it will be possible to compile both MQL4 and MQL5 from any version.

    MQL5 Storage with MetaTrader 4
    It will be easier for developers to manage source code versions, participate in team operations and synchronize files.

    Improving the security of application codes in MetaTrader 4
    New EX4/EX5 files are provided with a serious and completely revised protection, as compared to the old EX4.

    Market of MetaTrader 4 applications
    Transition to the new compiler that supports resources and conventional protection suited for each user's PC will allow users to develop and sell full-fledged applications. There is no need to worry about the protection of EX4/EX5 files sold via the Market - they do not contain bytecode but only a pure native code signed by our private key. This solution puts in order all the diversity of existing programs and protects the sellers.

  2. Fixed highlighting MetaAssist entry points.
  3. Fixed search without considering letter case in the line consisting of non-Latin characters.
  4. Fixed input using the standard on-screen keyboard.
  5. Fixed updating the contents of Articles and Codebase tabs.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

12 August 2013
You Can Now Deposit Funds to Your MQL5.com Account via Visa QIWI Wallet

We have expanded MQL5.community payment system options by adding QIWI Wallet as a new way to deposit funds to your account.

This is already the fourth method of depositing money: now, you can use Visa QIWI Wallet along with WebMoney, PayPal and bank cards. Payment is made in rubles, charged commission is 1%, minimum payment is 100 rubles.

To deposit funds to your account, go to Payments section of your MQL5.com profile, select "Deposit to account" and choose QIWI Wallet from the four available options.

Deposit Funds to Your MQL5.com Account via Visa QIWI Wallet

On the new page, specify the amount of funds in rubles to be deposited and your mobile phone number which is used as an identifier in the Visa QIWI Wallet payment system.

Specify the Amount of Funds in Rubles to be Deposited and Your Mobile Phone Number

After the payment is confirmed, secure connection with Visa QIWI Wallet service is established, and you are offered to pay for an automatically generated invoice.

QIWI Wallet Invoice

You can pay for it in several ways:

  • Online payment in Visa QIWI Wallet service. This is the easiest and fastest way, if there is enough money on your account in this payment system. Simply log into the system by entering a password and confirm the payment with one-time code that you will receive by SMS.

  • Payment kiosk. This option is convenient, as you can pay for invoice in cash using any QIWI payment kiosk.

  • Bank card. If a bank card is bound to your Visa QIWI Wallet, then after authorization you will need to confirm the payment by entering card data and CVV2 or CVC2 verification code.

  • WebMoney. If WebMoney purse is bound to your Visa QIWI Wallet, then after authorization the invoice will be paid using funds on your WebMoney purse.

You can find detailed instructions on the first two Visa QIWI Wallet invoice payment methods (online and payment kiosk) in the appropriate section of MQL5.community Payment System article.

When depositing funds to your account, standard QIWI commission of 1% from the specified amount is charged. After the funds have been successfully transferred, they appear on your account immediately.

Choose the most convenient way to deposit funds to your account and use built-in MQL5.community services: Jobs freelance service, MetaTrader 4/5 AppStore and Trading Signals for MetaTrader platforms!
25 July 2013
MetaTrader 5 Trading Terminal build 842: Scalper Depth of Market for All Symbols

Trading Terminal

  1. Added display of the scalper Depth of Market for the symbols having no external one:

    Added display of the scalper Depth of Market for the symbols having no external one

    The new Depth of Market allows placing, modifying and deleting orders quickly and with maximum clarity providing best opportunities for profitable trading.

  2. Added ability to place stop orders via the Depth of Market:

    Added ability to place stop orders via the Depth of Market

    When pressing buy or sell button on a price level, the terminal automatically defines the type of the placed order - stop or limit - and passes it to the trade server.

  3. Added command for displaying the history of deals on the chart:

    Added command for displaying the history of deals on the chart

  4. Added execution time of successful trading requests in the terminal journal:
    2013.07.24 11:22:14    Trades    '1085833': deal #125358548 buy 2.00 EURUSD at 1.32148 done (based on order #131370869)
    2013.07.24 11:22:14    Trades    '1085833': order #131370869 buy 2.00 / 2.00 EURUSD at 1.32148 done in 37 ms
    2013.07.24 11:22:14    Trades    '1085833': accepted instant buy 2.00 EURUSD at 1.32148
    2013.07.24 11:22:14    Trades    '1085833': instant buy 2.00 EURUSD at 1.32148
  5. The time of opening and closing of orders, execution of deals and placing positions is now displayed up to seconds in the list of opened orders and positions, trading history and trade reports.
  6. Added display and ability to manage Limit price for Stop-Limit orders to the chart's trading levels.
  7. Fixed drawing the indicators having DRAW_SECTION, DRAW_ZIGZAG, DRAW_COLOR_SECTION and DRAW_COLOR_ZIGZAG display styles when using a shift in the indicator.
  8. Fixed saving the chart after debugging or profiling.
  9. Fixed display of SL-TP levels in the Depth of Market.
  10. Fixed display of market orders in the Depth of Market.
  11. Fixed symbol display in the trading dialog in case description is too long.
  12. Optimized terminal operation in case of a large number of selected symbols.
  13. Fixed and enhanced translation of the graphic interface into Italian, Portuguese and French.
  14. Fixed terminal help update in Portuguese.
  15. Added translation of the client terminal's help in French

Trading Signals

  1. Added display of Equity chart and signal reviews to the information about a signal. Added warning of the last trading transaction date.

    Added display of Equity chart and signal reviews to the information about a signal

  2. Added display of new signals that have appeared over the past 3 days to the signals tab.

MQL5

  1. Added ResourceReadImage function - this function passes the graphic resource data created by ResourceCreate() function or saved in EX5 file during compilation to the array.
bool  ResourceReadImage(
   const string      resource_name,       // name of the graphic resource for reading
   uint&             data[],              // array for receiving data from the resource
   uint&             width,               // width of the copied area from the resource
   uint&             height,              // height of the copied area from the resource
   );
  1. Added ResourceFree function allowing MQL5 application developers to manage memory consumption when actively working with resources.
  2. Added additional operation mode for working with OpenCL for CLContextCreate function - CL_USE_CPU_ONLY - only OpenCL emulation on CPU is allowed.
  3. Fixed MQL5 programs execution errors when working in 64-bit Windows 8.
  4. Limited the number of warnings delivered during compilation down to 100 ones.
  5. Added CLGetInfoInteger() function for obtaining properties of OpenCL devices.
  6. Standard Library. Improved controls library - added ability to work with several applications in one subwindow.

Strategy Tester

  1. Fixed setting position ID when executing rollovers with re-opening.

MetaEditor

  1. Fixed undoing changes when working with MQL5.Storage.
  2. Fixed operation of "Make Uppercase" and "Make Lowercase" commands in case there are non-Latin characters in the line.
  3. Fixed MetaAssist operation.
  4. Added translation of online help into Chinese.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

8 July 2013
Social Trading with the MetaTrader 4 and MetaTrader 5 Trading Platforms

What is social trading? It is a mutually beneficial cooperation of traders and investors whereby successful traders allow monitoring of their trading and potential investors take the opportunity to monitor their performance and copy trades of those who look more promising.

You monitor real-time trading of a number of traders, connect to the most successful ones and copy their trades in automatic mode - that's what social trading is about. For novice and inexperienced traders who have just turned to financial markets for additional income, it is probably the best opportunity to actually start trading.

Social Trading with the MetaTrader 4 and MetaTrader 5 Trading Platforms

You do not need to be a professional trader with a great bundle of knowledge and skills in order to trade professionally. Nor do you need to follow and analyze the news from financial markets, work out and implement trading strategies and be prepared to change the ones that fail to keep monitoring their performance in the new market conditions. Thanks to social trading it all becomes unnecessary since you can simply copy trades of all those who follow the news, analyze markets and create profitable strategies.    

Is it difficult to start mirror trading and how much does it take? While hedge fund investing was not available to many due to high entry threshold (hundreds of thousands and millions of dollars), social trading is a highly affordable system available to absolutely any trader with any income level. It opens up access to a large market with vast opportunities that you, too, can use.

Social trading advantages are obvious:

  • Additional income for both traders and investors
  • Investment diversification
  • Opportunity to connect to the most successful traders and automatically mirror their trades
  • Low entry threshold: you can start with a minimum budget
  • Practice opportunities: you can trade on demo accounts in a training mode
  • Time saving
  • High operability and user-friendly interface

Ready to take the opportunities offered by social trading but don't know where to start? MetaTrader 4 and MetaTrader 5 are the most famous and popular platforms for social and mirror trading, with Trading Signals service being a very convenient, advanced social trading feature offered in these platforms. Social trading with the MetaTrader platforms is very straightforward: the user chooses the signal directly in the terminal, subscribes to it and from that moment on all trades are copied in his account.

Trading Signals with Automatic Execution on Your Account

Social trading with MetaTrader will allow you to monitor trading activity and profitability of successful traders, and most importantly, copy their trades. If you see a positive trend in performance of one of the traders whose signal is available for subscription, go ahead with it and start copying his trades. The trading terminal will automatically mirror all trades of the signals provider in your account, without any manual intervention necessary.

So, after subscribing the trader can earn money using the Signals service, without effort, skills or trading experience.

After all, social trading should be simple and straightforward to be easily understood by traders with any background. We cannot but admit it. In this light, MetaTrader trading signals appear to be perfectly adequate. They are available to any user, regardless of their trading experience. Here, you are not required to sign an agreement with a provider of the selected signal or a broker, nor is there any paperwork or manual control necessary. Everything is done automatically.

All you need is to specify your broker and enter the number of your account on the broker's server. Nothing more than that. Subscription process will take very little time. The description of a step-by-step subscription procedure is available in the article entitled "How to Subscribe to Trading Signals". After reading it, you will subscribe to the signal of your choice quickly and easily. 

How to Subscribe to Trading Signals

Despite being seemingly complicated, choosing a provider of the suitable signal has been made as simple as possible - the Trading Signals section features a regularly updated list of providers. By default, signals on the list are sorted by quality ensuring that top positions are taken by signals with higher credibility and better financial performance. However, for your convenience trading signals can also be sorted by monthly growth, number of subscribers, price and other parameters.

Social trading with the MetaTrader trading platforms is easy, straightforward and available to everyone. Out of thousands of available signals providers, you just need to choose the one that suits you more and measures up to your parameters!

14 June 2013
MetaTrader 5 Trading Terminal build 821: Updated Signals Window and Trading Signal Registration Command

Trading Terminal

  1. Added ability to set Stop Loss and Take Profit levels in market order placing dialog for symbols having Market and Exchange execution types. If the values of the levels are specified in points, the final value of placed Stop Loss and Take Profit prices is calculated based on the order's market price at the moment the request was placed in the client terminal.


    Added ability to set Stop Loss and Take Profit levels in market order placing dialog for symbols having Market and Exchange execution types

  2. Added display of trading levels' deviation from the market's, position's or order's price in points and client deposit currency when dragging trade levels of orders and stops.

    Added display of trading levels' deviation from the market's, position's or order's price in points and client deposit currency when dragging trade levels of orders and stops

  3. Added display of trading levels' deviation from the market's, position's or order's price in points and client deposit currency into trade levels' tooltips.

    Added display of trading levels' deviation from the market's, position's or order's price in points and client deposit currency into trade levels' tooltips

  4. Added "Enable dragging of trade levels with 'Alt' key" option - when enabled, dragging of trade levels is performed only in case Alt key is pressed.


  5. Added currency display in the client account's status bar.

    Added currency display in the client account's status bar

  6. Modified drawing Fibonacci Arc object - the arcs are drawn "to the past" only till the graphical object's midpoint level to facilitate visualization.
  7. Added MQL5 application publication date column at Code Base tab.
  8. Fixed display of the empty Depth of Market in Extended mode.
  9. Fixed errors in trade commands of the Depth of Market's context menu.
  10. Now, graphical objects created from MQL5 applications cannot be restored after deletion using Undo command (Ctrl+Z).
  11. Fixed highlighting the deals performed by SL\TP at the trading history tab.
  12. Fixed assignment of "hot keys" for MQL5 applications in the context menu of Navigator window.
  13. Fixed behavior of signals at Alerts tab - conditions related to prices are checked at the moment the price changes instead of periodical checks performed without considering prices.
  14. Fixed restoring SL\TP values in points in the trade requests placing dialog after the failure of a trade request.
  15. Fixed errors of results normalization in the terminal's and tester's trading reports.
  16. Fixed display of custom indicators with DRAW_COLOR_HISTOGRAM2 style.
  17. Fixed display of quick trade panel when changing the chart's color scheme.
  18. Fixed default generation of trailing stop level sets.
  19. Fixed occasional incorrect activation of alerts.

MetaTrader Trading Signals

  1. Revised display of signal list:

    • Added signal price column and paid/free signals filter.
    • Added signal type column - Demo, Contest or Real.
    • Removed brokerage company and trading server names.

    Revised display of signal list

  2. Added command for registering a trading signal bound to the allocated account on MQL5 web site to the trading account's context menu of the Navigator window.


    Added command for registering a trading signal bound to the allocated account on MQL5 web site to the trading account's context menu of the Navigator window

  3. Revised the dialog for unsubscribing from a signal in order to reduce the risk of the accidental unsubscribing from paid signals. Now, users should additionally agree to unsubscribing terms before performing the action.

MQL5

  1. Now, CHARTEVENT_CHART_CHANGE event is generated when the chart's vertical scale is changed.
  2. Fixed check of price and stop level validity when placing and modifying pending orders - now, TRADE_RETCODE_INVALID_PRICE response code is returned in case of the order's invalid price instead of TRADE_RETCODE_INVALID_STOPS.
  3. Fixed launch of Expert Advisors when the terminal is launched from the command line and Symbol parameter is absent in the parameters list - in this case, an Expert Advisor is launched at the first chart of the current profile.
  4. Fixed compilation of an application having a large number of resource files (more than 256).
  5. Standard Library. Added diagram generation mode - "with accumulation" - CChartCanvas::Accumulative() property.
  6. Standard Library. Added control of the allowed order and order expiration types before placing trading orders in CTrade class.

MQL5 Market

  1. Added the button for testing paid Expert Advisors and indicators directly from Market tab. Test button appears after downloading Expert Advisors' demo versions and indicators. When pressing the button, Strategy Tester tab with the appropriate Expert Advisor or indicator appears.


    Added the button for testing paid Expert Advisors and indicators directly from Market tab

Strategy Tester

  1. Fixed an error in caching trading history that could sometimes lead to receiving incorrect deal properties.
  2. In the visual testing mode, fixed indicator chart display in a separate subwindow in case this indicator has been generated based on another one.
  3. Added permission for placing SL and TP from MQL5 applications in Exchange and Market Execution modes during testing and optimization.
  4. Fixed an error during re-optimization in All symbols optimization mode.
  5. Fixed handling expiration of pending orders with Specified day mode.
  6. All properties (ChartGetDouble, ChartGetInteger functions) of the main chart are now displayed during the visual testing, except Window Handle value.
  7. Presence of OnTester access point is checked when launching optimization according to Custom max criterion. In case the point is absent, optimization is not launched and the appropriate entry appears in the journal.

MetaEditor

  1. Added ability to change window size in the debugger.


    Added ability to change window size in the debugger

  2. Added edit commands:

    • "Increase Line Indent (Tab)"\"Decrease Line Indent (Shift +Tab)" - add/remove indentation at the beginning of the highlighted lines.
    • "Make Uppercase (Ctrl+Shift+U)\Make Lowercase (Ctrl+U)" - convert all the characters of the highlighted text to uppercase/lowercase

    Added edit commands

  3. Added prohibition against adding files larger than 64 megabytes to 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.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com

19 April 2013
MetaTrader 5 TradingTerminal build 803: Full Display in Depth of Market and Dragging Expert Advisors from Code Base

Trading Terminal

  1. Added ability for "full" display in the Depth of Market - each price tick is displayed as a separate line in the Depth of Market.

    Added ability for full display in the Depth of Market

  2. Fixed an error that sometimes occurred in trailing stop operation.
  3. SL-TP levels for the order are automatically shifted when moving the order in the Depth of Market using drag'n'drop.
  4. Fixed display of Templates in the chart's context menu.
  5. Improved Code Base tab - now, MQL5 application can be added to the chart by dragging it from Code Base tab. Added the column with the name of an Expert Advisor and removed the column with publication dates.

  6. Improved Code Base tab - now, MQL5 application can be added to the chart by dragging it from Code Base tab

  7. Restored Trading tab in Market Watch window.
  8. Fixed deletion of an account in Navigator window in case of large login values.
  9. Fixed reset of the current bar in price history when working with exchange tools.
  10. Added logging of deals with trailing stops.

  11. Trading Signals

  12. Fixed an error in handling position closing signals when renaming trading symbols (EURUSD <=> EURUSD!).

MQL5

  1. Fixed making chart screenshots using ChartScreenShot function from custom indicators at OnCalculate entry point.
  2. Added ability to present binary data using b prefix:

    int val=b'101010'; // 42
  3. Added the timer event setting function specifying frequency in milliseconds EventSetMillisecondTimer - when using this function, OnTimer entry point can be called at more than once per second.

    This feature is designed for the cases when high-resolution timer is required. In other words, timer events should be received more frequently than once per second.

    The minimum interval of 1000 milliseconds is used in the strategy tester. In general, when the timer period is reduced, the testing time is increased, as the handler of timer events is called more often. When working in real-time mode, timer events are generated no more than 1 time in 10-16 milliseconds due to hardware limitations.

  4. Standard Library. Updated CPieChart and CChartCanvas classes for creating diagrams.

Strategy Tester

  1. Fixed history synchronization error during repeated optimization passes that sometimes led to mismatches in optimization results.
  2. Fixed an error that in some cases could lead to "freezing" of forward testing after optimization.
  3. Changed calculation of "Balance + max Profit Factor" optimization criterion. In case there is no calculated profit factor (no loss-making deals), the final balance is now used as the optimization criterion.
  4. Fixed an error that in some cases could lead to "freezing" of forward testing after optimization. In some cases, forward optimization could suddenly stop after the "large" genetic optimization.

MetaEditor

  1. Added ability to format the output of integers in the debugger: in binary form - using "b" modifier, in hexadecimal form - using "x" modifier.

    Added ability to format the output of integers in the debugger

  2. Added ability to show the values for the fields of structures and classes:

    Added ability to show the values for the fields of structures and classes

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

4 April 2013
MetaTrader 5 Client Terminal build 794: Scalper Depth of Market and New Tools for One-Click Trading

Trading Terminal

  1. Revised one-click trading system:

    • When One-Click Trading mode is enabled, the trading dialog is closed right after a successful operation. In case of an error, the dialog displays its cause.

      When One-Click Trading mode is enabled, the trading dialog is closed right after a successful operation. In case of an error, the dialog displays its cause

    • When One-Click Trading mode is enabled, Close Position command in the position's context menu results in an immediate closing of the position without showing the trading dialog. Added ability to remove SL-TP in one click in the list of open orders and positions.

      When One-Click Trading mode is enabled, Close Position command in the position's context menu results in an immediate closing of the position without showing the trading dialog

    • Added the context menu for trading levels on the chart. The menu allows managing the level right from the chart.

      Added the context menu for trading levels on the chart

    • When One-Click Trading mode is enabled, dragging trading levels of orders and positions results in an immediate modification of the appropriate order or stop level without showing the trading dialog.

    • A double click on the trading level displays order or position modification dialog.

    • Revised the context menu of trading from the chart, limit orders are now set in the main menu, added ability to set alerts right from the chart.

    • Revised the context menu of trading from the chart, limit orders are now set in the main menu

    • Removed Trading tab from Market Watch window. Now, any trade operations can be performed right on the chart.

  2. Replaced conventional Depth of Market with the scalper one focused on the minimum time for performing a trade operation. When One-Click Trading mode is enabled, all trade operations are executed immediately without showing a trading dialog:

    Replaced conventional Depth of Market with the scalper one focused on the minimum time for performing a trade operation

    • SL and TP levels are specified in points.
    • Close button closes the current position.
    • A limit order is placed by pressing the market entry button at the appropriate level.
    • A limit or stop order is removed by pressing the appropriate button while holding Shift key.
    • Order or stop price can be changed by simply dragging an order to a new level.
    • When dragging a pending order via the level of best prices, the order automatically changes its type from Limit to Stop and vice versa.
    • Market order is placed by pressing Buy or Sell buttons.

  3. Fixed an error when changing a vertical scale for symbols with a specified tick size on a chart.

  4. Added a tab displaying brokerage company's technical support web site.

    Added a tab displaying brokerage company's technical support web site

  5. Changed scaling algorithm in trading dialog's tick chart - now, the scale is chosen so that the levels of a trading order and stops are displayed on the chart.

  6. Fixed Navigator window's multiple update when compiling the directory in MetaEditor.

  7. Fixed an error leading to changing of the value in the order price field when switching between different modes of modification and setting a new order in the trading dialog.

  8. Trading Signals

  9. Added insufficient funds warning message when trying to subscribe to paid signals.

    Added insufficient funds warning message when trying to subscribe to paid signals

  10. MQL5 Market

  11. Added ability to download free applications from MQL5 Market without registering on MQL5.

  12. MQL5

    1. Added new return codes when performing trading operations:

      • TRADE_RETCODE_INVALID_ORDER - placed order has forbidden or incorrect type.
      • TRADE_RETCODE_POSITION_CLOSED - operation with the position is impossible, as the position is absent.

      Implemented changes to CTrade class of the Standard Library.

    2. Added new values to ENUM_BOOK_TYPE enumeration: BOOK_TYPE_SELL_MARKET and BOOK_TYPE_BUY_MARKET - requests to sell and buy at market price, respectively.
    3. SendFTP function operation now does not depend on the fact if publication of FTP reports in the terminal settings is allowed.
    4. Fixed an error when working with alpha channel for images from the resources that led to the loss of transparency.
    5. Fixed an error leading to the crashes of MQL5 applications when working in 64-bit Wine (for Linux, Mac).
    6. Fixed passing the cause of deinitialization in OnDeinit entry point parameter for custom indicators.
    7. Fixed debugging point's operation when exiting the function.
    8. Standard Library. Added drawing Ellipse, Arc and Pie graphical primitives and their versions with filling to CCanvas class.
    9. Standard Library. Fixed display of the calendar in Date Picker control element (MQL5\Include\Controls\DatePicker.mqh).
    10. Standard Library. Fixed display of a drop-down list in Date Picker and Combo Box control elements.
    11. Standard Library. Added diagram classes:

      • CPieChart (MQL5\Include\Canvas\Charts\PieChart.mqh) - pie chart.
      • CHistogramChart (MQL5\Include\Canvas\Charts\HistogramChart.mqh) - histogram.
      • CLineChart (MQL5\Include\Canvas\Charts\LineChart.mqh) - line chart.

      Examples of using the classes are added to MQL5\Scripts\Examples\Canvas\Charts.

    Strategy Tester

    1. Fixed crashes when working with charts in visual testing mode in case multicurrency Expert Advisors are tested.
    2. Fixed display of a basic chart during the visual testing of multicurrency Expert Advisors.
    3. Fixed the launch of visual testing when working in 64-bit Wine (for Linux, Mac).
    4. Fixed generation of ticks and trading exchange symbols.

    MetaEditor

    1. Fixed errors occurred when working with joint projects via MQL5 Storage.
    2. Fixed debugging and profiling of files from projects directory.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

21 March 2013
MetaTrader 5 Trading Terminal build 787: Added Ability to Receive Milliseconds in Trade Operations

Trading Terminal

  1. One click trading panel is not displayed for non-trading symbols and when an investor account is used.
  2. Fixed one click trading panel on a chart when working in Wine (for Linux, Mac).
  3. Fixed drawing indicators having DRAW_FILLING drawing style.

  4. Trading Signals

  5. Added detailed warning of different trading symbol settings at Signal Source and Subscriber's sides to the signal subscription dialog. This reduces the probability of subscribing to a signal, which is incompatible with Subscriber's trading account.

    Added detailed warning of different trading symbol settings at Signal Source and Subscriber's sides to the signal subscription dialog

MQL5

  1. Expanded ENUM_ORDER_STATE enumeration - states of trading orders. Added ORDER_STATE_REQUEST_ADD, ORDER_STATE_REQUEST_MODIFY and ORDER_STATE_REQUEST_CANCEL values.
  2. Added new position properties (ENUM_POSITION_PROPERTY_INTEGER enumeration):

    • POSITION_TIME_MSC - position placing time in milliseconds since 00:00:00 01.01.1970
    • POSITION_TIME_UPDATE - position changing time in seconds since 00:00:00 01.01.1970
    • POSITION_TIME_UPDATE_MSC - position changing time in milliseconds since 00:00:00 01.01.1970

    Added CPositionInfo::TimeMsc, CPositionInfo::TimeUpdate and CPositionInfo::TimeUpdateMsc properties to Standard Library.

  3. Added new order properties (ENUM_ORDER_PROPERTY_INTEGER enumeration):

    • ORDER_TIME_SETUP_MSC - order placing time in milliseconds since 00:00:00 01.01.1970
    • ORDER_TIME_DONE_MSC - order execution time in milliseconds since 00:00:00 01.01.1970

    Added COrderInfo::TimeSetupMsc, COrderInfo::TimeDoneMsc, CHistoryOrderInfo::TimeSetupMsc and CHistoryOrderInfo::TimeDoneMsc properties to Standard Library.

  4. Added a new deal property (ENUM_DEAL_PROPERTY_INTEGER enumeration):

    • DEAL_TIME_MSC - the time of a deal execution in milliseconds since 00:00:00 01.01.1970

    Added CDealInfo::TimeMsc property to Standard Library.

  5. Fixed placing market trade requests from MQL5 applications for symbols having Instant Execution type and an exceeded threshold, after which the execution type changes to Request Execution.
  6. Fixed an error preventing OnTradeTransaction event from being called at custom indicators.
  7. Standard Library. Fixed looping when using methods of working with directories in CFile class
  8. Standard Library. Fixed errors in Resize and Reserve methods for CArray* dynamic array classes.
  9. Standard Library. Fixed behavior of scrollbars and drop-down lists when using them in control elements (MQL5\Include\Controls).
  10. Standard Library. Fixed specifying pending order expiration time when using CTrade::OrderOpen method.

Strategy Tester

  1. Added free disk space control when a testing agent works with MQL5.Cloud Network - if at least 500 MB of free disk space is absent, connection to MQL5.Cloud Network is not performed.
  2. Fixed unnecessary reexecution of tasks when calculating genetic optimization for purely mathematical tasks.

MetaEditor

  1. Added Navigate Forward/Navigate Backward commands to the tool bar and menu.

    Added Navigate Forward/Navigate Backward commands to the tool bar and menu

  2. Added MQL5.Storage automatic activation - activation command is displayed in Navigator's context menu in case MQL5 account login and password are absent and MQL5.Storage base is empty:

    Added MQL5.Storage automatic activation

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

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

7 March 2013
MetaTrader 5 Trading Terminal build 778: New MQL5 Profiler

Trading Terminal

  1. Fixed drawing One-Click Trading panel on a chart when working in Wine (for Linux, Mac).
  2. Fixed freezing when saving a chart screenshot during debugging of MQL5 applications.
  3. Fixed calculation of the distance to the lines for indicators with Zigzag drawing style.
  4. Fixed an error causing the inability to launch external scripts for the terminal events:

  5. Fixed an error causing the inability to launch external scripts for the terminal events

    Trading Signals

  6. Fixed behavior when synchronizing trading positions of a Signals Provider and a Subscriber in case a Subscriber has no active trading session for a symbol of one of the positions. Now, such a situation does not interrupt further synchronization, while the position in question is not synchronized till the next synchronization attempt.
  7. Fixed drawing labels on the charts used in the information about a signal.

MQL5

  1. Added publication of CHARTEVENT_CHART_CHANGE event when changing the chart type (CHART_MODE property of ChartGetInteger function).
  2. Fixed drawing Bitmap Label graphical object when installing the object from MQL5 application.
  3. Fixed OpenCL download error messages in case OpenCL is not supported.
  4. Fixed conversion of a string array element to the built-in enumeration.
  5. Fixed template typification using enumeration.
  6. Optimized working with fonts in MQL5 applications.
  7. Fixed an error in IndicatorRelease function leading to a memory leak when releasing the indicators inherited from the built-in ones.
  8. Standard Library. Added new control element class - CDatePickerCtrl (MQL5\Include\Controls\DatePicker.mqh) - control element for entering the date.
  9. Standard Library. Fixed filling order execution types in CTrade class (MQL5\Include\Trade\Trade.mqh) when working with symbols.

Strategy Tester

  1. Fixed display of the agent management dialog when using large system fonts.
  2. Fixed IndicatorRelease function call leading to a memory leak.

MetaEditor

  1. Improved visualization of the profiler's operation. Now, profiling data is displayed right in the source code.

  2. Improved visualization of the profiler's operation

  3. Fixed an error in the profiler's operation leading to deterioration of profiling results.
  4. Fixed an error when reverting changes in binary files when 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.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com

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

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

12345678910111213