Russian software developer MetaQuotes said on Friday it has launched an updated version of the MetaTrader 5 (MT5) trading platform, which includes upgrades to the Array functions, among other things.
The developer has added a new ArrayPrint function, which prints simple types and structures to the array log. The function does not print all fields of a structure array to logs – array fields and pointer fields of objects are skipped. For this, a custom function for mass printing is needed.
In addition, the behavior of the ArrayResizze function has been changed with the aim to optimize memory usage. The behavior of the ArrayResize function has changed. If -1 is passed as the reserve_size parameter, the function only releases unused (reserved) memory if the function does not increase the array size. Setting the new array size to 0 with reserve_size=-1 is equivalent to the ArrayFree call.
The updated version includes a number of platform enhancements. To find out more about the changes, read on.
Recently, MetaQuotes expressed its intentions to stop issuing updates to the MT4 as it seeks to focus entirely on the MT5. Indeed, in the past few weeks the developer has not made any enhancements to the MT4, while adding new functions to the MT5 on a regular basis.
Following is a list of the newly-made changes to the MT5:
- The order of entries in the terminal and MetaEditor journals has changed. Before the update, the latest log entries were featured first. Now the oldest entries are shown in the beginning of the journal. A more conventional reverse sorting order makes reading the journal easier.
- In addition, it is now possible to hide the ‘Time’ and ‘Source’ columns using the journal context menu.
- In the hedging mode, the ticket of a closed position is now displayed for the orders and deals in the trading history. This makes it easier to find related opening and closing operations.
- Fixed an error that caused copying of SL/TP from an existing position to a new position on the same instrument. The error could occur when using One Click Trading functions (for example, from the chart or from the Market Watch window) in the hedging mode.
- Fixed display of arrow objects on ultra-high-definition screens (4K).
- Fixed error in the addition of strings of type S1=S2+S1
- The behavior of the ArrayResize function has changed. If -1 is passed as the reserve_size parameter, the function only releases unused (reserved) memory if the function does not increase the array size. Setting the new array size to 0 with reserve_size=-1 is equivalent to the ArrayFree call. The new behavior allows optimizing memory usage in MQL5 programs.
- Chart drawing functions have been added to the Standard Library. To use the new functionality, include MQL5\Include\Graphics\Graphic.mqh to your project.
Plotting a chart based on three data series using GraphPlot:
- The updated version features advanced settings for configuring execution delays during testing. Now you can test your Expert Advisors in a variety of trading conditions, including the ideal case without a delay and any custom set delay.
- Fixed generation of the tick volume of bars in the ‘M1 based OHLC’ mode.
- Fixed specification of order and position opening time up to milliseconds when trading in the hedging mode.
- Fixed “old tick” error, which could appear during multi-currency or multi-timeframe testing in the ‘real ticks’ mode.
- Improved CopyTicks performance speed when the requested ticks are read from a database located on a disk.
- The file context menu in the Navigator and in the toolbox now features commands for working with the versioned source code repository MQL5 Storage.
- Fixed an error that could occasionally break the integrity of the local MQL5 Storage database when working with more than 1024 files in the repository.
- Fixed display of the file tree of MQL5 Storage.
- Fixed file display after a mass text replacement.