---
title: "MetaTrader 5 build 2860: Improvements for Wine and SQL integration enhancements - Release Notes"
description: "We have significantly optimized terminal operation under Wine on macOS and Linux - Release Notes"
image: "https://www.metatrader5.com/c/17/0/terminal-1__36.png"
url: "https://www.metatrader5.com/en/releasenotes/terminal/2188"
---

# 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](https://www.mql5.com/en/articles) or copy trading features of the [Signals](https://www.mql5.com/en/signals) service, you can disable the relevant section to optimize resources and terminal workspace.

   ![](https://www.metatrader5.com/c/17/0/terminal-1__36.png)

   All services are enabled by default.
2. We have significantly optimized terminal operation under Wine on [macOS](https://www.mql5.com/en/articles/619) and [Linux](https://www.mql5.com/en/articles/625):

     - 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](https://www.metatrader5.com/en/metaeditor/help/development/source_code_find#community) in GitHub, MSDN and Stack Overflow in MetaEditor.

   > We recommend all users to update Wine to [the latest stable version](https://www.mql5.com/go?link=https://wiki.winehq.org/Download). 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](https://www.metatrader5.com/en/terminal/help/trading/options_board#volatility_smile) 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.

   ![](https://www.metatrader5.com/c/17/0/terminal-2__28.png)

### MQL5

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

     - [mode](https://en.wikipedia.org/wiki/Mode_(statistics))
     - [median](https://en.wikipedia.org/wiki/Median) (50th percentile)
     - [percentile_25](https://en.wikipedia.org/wiki/Quantile)
     - 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**

     - [acos(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#acos)
     - [acosh(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#acosh)
     - [asin(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#asin)
     - [asinh(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#asinh)
     - [atan(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#atan)
     - [atan2(X,Y)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#atan2)
     - [atanh(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#atanh)
     - [ceil(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#ceil)
     - [ceiling(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#ceil)
     - [cos(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#cos)
     - [cosh(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#cosh)
     - [degrees(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#degrees)
     - [exp(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#exp)
     - [floor(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#floor)
     - [ln(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#ln)
     - [log(B,X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#log)
     - [log(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#log)
     - [log10(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#log)
     - [log2(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#log2)
     - [mod(X,Y)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#mod)
     - [pi()](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#pi)
     - [pow(X,Y)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#pow)
     - [power(X,Y)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#pow)
     - [radians(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#radians)
     - [sin(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#sin)
     - [sinh(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#sinh)
     - [sqrt(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#sqrt)
     - [tan(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#tan)
     - [tanh(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#tanh)
     - [trunc(X)](https://www.mql5.com/go?link=https://sqlite.org/lang_mathfunc.html#trunc)

   **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](https://www.mql5.com/en/docs/constants/namedconstants/compilemacros):

     - __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](https://www.mql5.com/en/docs/math/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*](https://www.mql5.com/en/docs/series/copyticks) functions.

### MetaEditor

1. Changed order of [profiling](https://www.metatrader5.com/en/metaeditor/help/development/profiling#start) and [debugging](https://www.metatrader5.com/en/metaeditor/help/development/debug#start) 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:

   ![](https://www.metatrader5.com/c/17/0/terminal-3__20.png)
2. Added ability to profile [services](https://www.metatrader5.com/en/terminal/help/algotrading/trade_robots_indicators#service). The process is similar to other MQL5 programs.
3. Fixed display of function names in the [profiler report](https://www.metatrader5.com/en/metaeditor/help/development/profiling). Under certain conditions, the names could be specified as <unknown>.

Documentation has been updated.

**Earlier publications:**

- [MetaTrader 5 build 2815: Access to the Depth of Market from Python, revamped Debugger, and Profiler improvements](https://www.metatrader5.com/en/releasenotes/terminal/2186)
- [MetaTrader 5 build 2755: Popup Prices window and Debugger improvements](https://www.metatrader5.com/en/releasenotes/terminal/2180)
- [MetaTrader 5 build 2715: General improvements](https://www.metatrader5.com/en/releasenotes/terminal/2172)
- [MetaTrader 5 Platform Build 2690: MetaEditor improvements](https://www.metatrader5.com/en/releasenotes/terminal/2168)
- [New MetaTrader 5 platform build 2650: Background chart loading and MQL5 code profiler improvements](https://www.metatrader5.com/en/releasenotes/terminal/2163)
