MetaTrader 5 build 2860: Improvements for Wine and SQL integration enhancements

We have significantly optimized terminal operation under Wine on macOS and Linux

26 March 2021

Terminal

  1. Added ability to enable/disable additional MQL5.community services. For example, if you are not interested in MQL5 programming articles or copy trading features of the Signals service, you can disable the relevant section to optimize resources and terminal workspace.


    All services are enabled by default.

  2. We have significantly optimized terminal operation under Wine on macOS and Linux:
    • Now undocked service windows (Navigator, Toolbox) cannot be dragged beyond terminal borders. Previously, this could cause difficulty in dragging windows back to the terminal.
    • Fixed resizing of service window contents when resizing the window.
    • Fixed display of performance metrics in Task Manager.
    • Improved display of icons on the toolbar.
    • Fixed unread message counter in chats.
    • Fixed display of chart system commands: Hide, Expand and Close.
    • Fixed log display.
    • Fixed display of chart tooltips.
    • Fixed chart print commands.
    • Fixed display of the top menu when using Linux skins.
    • Fixed search in GitHub, MSDN and Stack Overflow in MetaEditor.
    We recommend all users to update Wine to the latest stable version. This will increase the platform performance and reliability.
  3. Added support for "Market To Limit" orders when trading on BORSA Istanbul. Such an order is initially executed as a market order. If liquidity is not enough, the remaining volume is added to the order book as a limit order with the last deal price.
  4. Fixed volatility chart display. Now, the chart is built in accordance with the expiry date selected on the options board.
  5. Fixed adding of trading instruments to the Market Depth via the quick search bar. If the symbol name has a space, this symbol will not be added to the list.



MQL5

  1. Expanded possibilities for working with SQL databases. Queries now support a variety of statistical and mathematical functions.

    Statistical functions
    • mode
    • median (50th percentile)
    • percentile_25
    • percentile_75
    • percentile_90
    • percentile_95
    • percentile_99
    • stddev or stddev_samp — sample standard deviation
    • stddev_pop — population standard deviation
    • variance or var_samp — sample variance
    • var_pop — population variance

    Mathematical functions

    Example
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from moz_bookmarks;
  2. Added new macros:

    • __COUNTER__ — increases by one on each call. Separate counters are provided when used in templates and macros.
    • __RANDOM__ — generates a random ulong number; it is an analogue of the MathRand function.

  3. Fixed operation of synchronous chart requests in cases when the chart symbol does not exist. Now, the functions return a relevant error instead of waiting indefinitely for a result. A situation with a non-existent symbol be caused by switching between trading accounts with different sets of trading instruments.
  4. Optimized and accelerated CopyTicks* functions.

MetaEditor

  1. Changed order of profiling and debugging using historical data.

    Profiling now always runs in non-visual mode. Default debugging also runs in non-visual mode. The appropriate option can be enabled manually in MetaEditor settings:



  2. Added ability to profile services. The process is similar to other MQL5 programs.
  3. Fixed display of function names in the profiler report. Under certain conditions, the names could be specified as <unknown>.

Documentation has been updated.