Market
- We are introducing a new mechanism of "direct" purchasing. Purchasing a
trading robot or an indicator from the Market is now even easier, and
you do not even need an MQL5.community account.
One-Step Purchase
A user doesn't need to log in to an MQL5.community account and add money to it. A payment for a product can now be made straight from the platform using one of the available payment systems. To maintain a clear and unified history of purchases from the Market, the required amount will be first transfered to your MQL5.community account, from which a payment for the product will be made.
You can easily access and review all your payments from your MQL5.community Profile.
Purchase without Registration
A product from the Market can be purchased without an MQL5.community account. Click "Buy" and pay for the product using one of the available payment systems.
Then you will be redirected to the payment system web page to complete your purchase.
After that, we strongly recommend you to register an account on MQL5.community, and your purchase will be automatically linked to it. This enables you to update the product and install it on multiple computers.
MetaEditor
- New features allow to debug Expert
Advisors and indicators on history prices. In the older versions
debugging required live real time charts.
Now any program can be tested on required history data. Debugging runs in the visual testing mode in the Strategy Tester. An application is executed on a chart with an emulated sequence of ticks in the tester.
Configure the debugging parameters in the MetaEditor settings: symbol, timeframe, interval, execution mode, tick generation mode, initial deposit and leverage. These parameters will be applied for visual testing.
Set the breakpoints in the code, and then start the debugging using historical prices.
This will initiate visual testing and the debugging process.
Virtual Hosting
- Multiple improvements and fixes have been implemented in the Virtual Hosting service.
The major changes apply to operation in Wine on computers running Linux and Mac OS. All the functions are available for allocated virtual servers in Wine, including migration, performance monitoring and logs.
The operation of the Log has also changed. If a user requests too many records, then only part of the first logs for the specified period will be downloaded. This prevents performance degradation resulting from large logs. If you need to download further logs, you no longer need to change the requested period. Simply select the last row in the log viewer window and press PgDn.
Terminal
- Added support for a special type of non-tradable assets, which can be
used as client's assets to provide the required margin for open
positions of other instruments. For example, a certain amount of gold in
physical form can be available on a trader's account, which can be used
as a margin (collateral) for open positions.
Such assets are displayed as open positions. Their value is calculated by the formula: Contract size * Lots * Market Price * Liquidity Rate.
Liquidity Rate here means the share of the asset that a broker allows to use for the margin.
The Assets are added to the client's Equity and increase Free Margin, thus increasing the volumes of allowable trade operations on the account.Thus, it is now possible to open accounts with various margin types.
In the example above, a trader has 1 ounce of gold having the current market value of 1 210.56 USD. This value is added to the equity and the free margin allowing the trader to continue trading even in case of a zero balance. - A new Depth of Market with a tick chart and the Time&Sales data of trades.
A tick chart of exchange instruments with real transaction prices is now displayed in the Depth of Market. All transactions conducted on the Exchange are plotted on this chart:- Red circles - Sell transactions
- Blue circles - Buy transactions
- Green
circles - the direction of the transaction is undefined. It is used
when the exchange does not transmit the direction of a transaction. In
this case, the direction is determined based on the price of the
transaction as compared to prices bid and ask. A Buy transaction is that
executed at the ask price or above, a Sell transaction is executed at
the bid price or lower. The direction is undefined, if the price of the
transaction is between the bid and the ask.
The larger the circle, the greater is the volume of the transaction. Transaction volumes are also shown as a histogram below the tick chart.
At the top and bottom of the histogram, the total volumes of the current Buy and Sell offers are shown. - The symbol selection dialog box now contains a column showing the
symbol expiration date. Additionally, expired instruments can be hidden
from the list. Expired contracts are automatically replaced with active
ones.
All expired symbols are hidden to preserve a more compact display. This is particularly useful when working on the futures market. A non-relevant symbol is the expired one, which is defined by the "Last trade" parameter. This date is specified in the "Expiration" column. To see all the symbols, click "Show expired contracts".
The list of symbols is automatically sorted for a more convenient display:- first listed are the symbols without the expiration date
- they are followed by the symbols with an expiration date starting with the nearest date
- then expired symbols are shown starting with the last expired one
- other symbols sorted alphabetically
Option "Auto remove expired" in the context menu allows to replace expired symbols with active ones in the "Market Watch" window.
After terminal restart, expired symbols are hidden, and active ones are added instead. For example, the expired futures contract LKOH 3.15 will be replaced by the next contact of the same underlying asset LKOH 6.15.
Symbols in the appropriate open charts are also replaced, provided there are no running Expert Advisors on them. - Fixed updating of trade button states in the Depth Of Market window
depending on whether there are any positions, and on the permission to
open only long positions. If there are no positions, the Close button is
inactive. If opening short positions is not allowed, the Sell button is
inactive.
- The terminal interface has been further adapted for high resolution screens (4K).
- Fixed verification of the volume of a closed position in the Request Execution mode, in case a deal volume is less than the minimum allowable value.
- Fixed an error that could occasionally lead to launch of multiple terminal instances from one directory.
- Added support and automatic filtering of the economic calendar in
different languages. Filtering is performed in accordance with the
language of the terminal interface.
- The Log Viewer now features search through the currently displayed logs.
It searches for a word/phrase in the displayed list of logs. - Added Thai translation of the client terminal.
- Updated translation of the client terminal into Hindi.
MQL5
- New function GetMicrosecondCount returns the number of microseconds that have passed since the start of the MQL5 program:
ulong GetMicrosecondCount();
This function can be used to profile program execution and identify "bottlenecks". - New chart property CL_BUFFER_SIZE in the ENUM_OPENCL_PROPERTY_INTEGER enumeration - it returns the actual size of the OpenCL buffer in bytes. The property can be received via the CLGetInfoInteger function.
- An error notification in the WebRequest function has been modified. If an error occurs, the 'result' array will contain the description of the error.
- The ArraySort, ArrayBsearch, ArrayMinimum and ArrayMaximum sort and search functions are now able to work with multidimensional arrays. Sort and search are performed only by the first (zero) array index. Previously, these functions worked only with one-dimensional arrays.
- Fixed some bugs in the compilation of macros.
Tester
- Some improvements and bug fixes in the operation of the visual testing. The tester now provides a smoother control of testing speed using the toolbar.
Fixed errors reported in crash logs.
Updated documentation.
The update is available through the LiveUpdate system.