---
title: "MetaTrader 5 build 1455: Библиотеки математических функций в MQL5 - Последние обновления"
description: "Добавлены всплывающие подсказки для кнопок Buy, Sell и Close в диалогах торговли. - Последние обновления"
image: "https://www.metatrader5.com/c/17/0/2__6.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/1384"
---

# MetaTrader 5 build 1455: Библиотеки математических функций в MQL5

## Добавлены всплывающие подсказки для кнопок Buy, Sell и Close в диалогах торговли

14 октября 2016

### Terminal

1. Добавлены всплывающие подсказки для кнопок Buy, Sell и Close в диалогах торговли. Подсказки поясняют, какие именно активы будут куплены и проданы при выполнении той или иной операции, помогая начинающим трейдерам понять суть торгового процесса.

   ![](https://www.metatrader5.com/c/17/0/1__6.png)
2. Добавлены новые пиктограммы ордеров, сделок и позиций на вкладках "Торговля" и "История".

   ![](https://www.metatrader5.com/c/17/0/2__6.png)
3. Оптимизировано и значительно ускорено (до 4 — 5 раз) отображение и обновление стакана цен, тикового графика стакана цен и ленты сделок.
4. Исправлена ошибка синхронизации тиковой истории в неторговое время. В некоторых случаях ошибка приводила к чрезмерному потреблению сетевого трафика.

### MQL5

1. В стандартную библиотеку включена MQL5-версия [библиотеки численного анализа ALGLIB](https://www.alglib.net/).

   **Возможности библиотеки**

     - Линейная алгебра
     - Решение систем уравнений — линейных и нелинейных
     - Интерполяция
     - Оптимизация
     - Быстрое преобразование Фурье
     - Численное интегрирование
     - Линейная и нелинейная аппроксимация по методу наименьших квадратов
     - Решение обыкновенных дифференциальных уравнений
     - Вычисление специальных функций
     - Описательная статистика и проверка гипотез
     - Анализ данных — классификация, регрессия
     - Реализация алгоритмов линейной алгебры, интерполяции и т.д. в арифметике высокой точности (с использованием MPFR)

   **Как использовать**

   Файлы библиотеки ALGLIB расположены в каталоге \MQL5\Include\Math\Alglib. Для использования функций включите основной файл библиотеки в свою программу:

    #include <Math\Alglib\alglib.mqh>
2. В стандартную библиотеку включены функции работы с математической статистикой. Теперь в MQL5 доступны возможности [языка R](https://www.r-project.org/) — одного из лучших инструментов статистической обработки и анализа данных.

   **Возможности библиотеки**

   Статистическая библиотека содержит функции для расчета статистических характеристик данных, а также функции для работы со статистическими распределениями:

     - Функции для расчета статистических характеристик элементов массива
     - Функции для работы со статистическими распределениями: нормальное распределение, логнормальное распределение, бета-распределение и т.д.

   **Как использовать**

   Файлы статистической библиотеки расположены в каталоге \MQL5\Include\Math\Stat. Для использования включите файл с нужными функциями в свою программу, например:

   ```
   #include <Math\Stat\Binomal.mqh> #include <Math\Stat\Cauchy.mqh>
   ```

   Подробное описание функций библиотеки читайте в статье [Статистические распределения в MQL5 - берем лучшее из R](https://www.mql5.com/ru/articles/2742).
3. В стандартную библиотеку включена MQL5-версия [библиотеки Fuzzy](https://sourceforge.net/projects/fuzzynet/), в которой реализованы системы нечеткого логического вывода Мамдани и Сугено.

   **Возможности библиотеки**

     - 13 функций принадлежностей
     - Гибкая форма написания правил для нечетких систем
     - Система нечеткого логического вывода Мамдани
     - Система нечеткого логического вывода Сугено
     - 5 методов дефаззификации для систем типа Мамдани
     - Неограниченное количество входных и выходных переменных

   **Как использовать**

   Файлы библиотеки Fuzzy расположены в каталоге \MQL5\Include\Math\Fuzzy. Для использования включите файл с нужными функциями в свою программу, например:

   ```
   #include <Math\Fuzzy\mamdanifuzzysystem.mqh> #include <Math\Fuzzy\sugenofuzzysystem.mqh>
   ```

   Подробное описание библиотеки можно найти в Code Base: [Fuzzy - библиотека для работы с нечеткой логикой](https://www.mql5.com/ru/code/13697)
4. Добавлено свойство CHART_QUICK_NAVIGATION для включения/отключения строки быстрой навигации на графике. Для изменения и получения состояния свойства используйте функции ChartSetInteger и ChartGetInteger.

   ![](https://www.metatrader5.com/c/17/0/3__6.png)

    Строка вызывается нажатием клавиши Enter или Space. При помощи нее можно быстро переместиться к заданной дате на графике, переключить символ и таймфрейм. Если ваша MQL5-программа обрабатывает нажатия клавиш Enter или Space, отключите свойство CHART_QUICK_NAVIGATION, чтобы терминал не перехватывал эти события. При этом останется возможность вызова строки навигации двойным кликом мыши.
5. Добавлены функции FileLoad и FileSave для легкого чтения и сохранения массивов в файлы. В отличие от FileRead* и FileWrite*, этим функциям не требуется хэндл файла. FileLoad и FileSave работают с массивами числовых типов, а также с простыми структурами, не имеющими строк, динамических массивов или объектов класса.

   ```
   long  FileLoad(    const string filename,      // [in] имя файла    void         &buffer[],     // [out] массив, в который считывается файл    uint         common_flag=0  // [in] 0 - поиск файла в папке Files терминала, FILE_COMMON - в общей папке терминалов    ); bool  FileSave(    const string filename,      // [in] имя файла    const void   &buffer[],     // [in] массив, который сохраняется в файл    uint         common_flag=0  // [in] 0 - создание файла в папке Files терминала, FILE_COMMON - в общей папке терминалов    );
   ```

   Пример записи массива тиков в файл с последующим чтением этих данных:

   ```
   //--- входные параметры input int      ticks_to_save=1000; // количество тиков //+------------------------------------------------------------------+ //| Script program start function                                    | //+------------------------------------------------------------------+ void OnStart()   {    string  filename=_Symbol+"_ticks.bin";    MqlTick ticks[]; //---    int copied=CopyTicks(_Symbol,ticks,COPY_TICKS_ALL,0,ticks_to_save);    if(copied!=-1)      {       PrintFormat(" CopyTicks(%s) copied %d ticks",_Symbol,copied);       //--- если тиковая история синхронизирована, то код ошибки равен нулю       if(!GetLastError()==0)          PrintFormat("%s: Ticks are not synchronized. Error=",_Symbol,copied,_LastError);       //---  запишем тики в файл       if(!FileSave(filename,ticks,FILE_COMMON))          PrintFormat("FileSave() failed, error=%d",GetLastError());      }    else       PrintFormat("Failed CopyTicks(%s), Error=",_Symbol,GetLastError()); //--- теперь прочитаем эти тики обратно из файла    ArrayFree(ticks);    long count=FileLoad(filename,ticks,FILE_COMMON);    if(count!=-1)      {       Print("Time\tBid\tAsk\tLast\tVolume\tms\tflags");       for(int i=0;i<count;i++)         {          PrintFormat("%s.%03I64u:\t%G\t%G\t%G\t%I64u\t0x%04x",          TimeToString(ticks[i].time,TIME_DATE|TIME_SECONDS),ticks[i].time_msc%1000,          ticks[i].bid,ticks[i].ask,ticks[i].last,ticks[i].volume,ticks[i].flags);         }      }   }
   ```
6. Модифицировано отображение пользовательского индикатора с режимом рисования DRAW_CANDLES. Теперь для этого стиля можно задавать от одного до трех цветов, в зависимости от этого меняется внешний вид свечей. **Если указан один цвет**, все свечи на графике будут полностью окрашены этим цветом.

   ```
   //--- одинаковые свечи, окрашенные в один цвет  #property indicator_label1  "One color candles" #property indicator_type1   DRAW_CANDLES //--- указан только один цвет, поэтому все свечи будут одного цвета #property indicator_color1  clrGreen
   ```

   **Если указано два цвета**, контуры свечи будут отрисовываться первым цветом, а тело — вторым цветом.

   ```
   //--- цвет свечей отличается от цвета теней #property indicator_label1  "Two color candles" #property indicator_type1   DRAW_CANDLES //--- тени и контур свечей зеленого цвета, тело белого цвета #property indicator_color1  clrGreen,clrWhite
   ```

   **Если указано три цвета**, контур свечи будет нарисован первым цветом, а цвет бычьей и медвежьей свечей будет задаваться вторым и третьим цветом.

   ```
   //--- цвет свечей отличается от цвета теней #property indicator_label1  "One color candles" #property indicator_type1   DRAW_CANDLES //--- тени и контур зелёного цвета, тело бычьей свечи белого цвета, тело медвежьей свечи красного цвета #property indicator_color1  clrGreen,clrWhite,clrRed
   ```

    Таким образом, с помощью стиля DRAW_CANDLES можно создавать собственные пользовательские варианты раскраски свечей. Все цвета можно также менять динамически в процессе работы индикатора с помощью функции PlotIndexSetInteger(индекс_построения_DRAW_CANDLES, PLOT_LINE_COLOR, номер_модификатора, цвет) , где номер_модификатора можеть иметь следующие значения:

     - 0 – цвет контура и теней
     - 1– цвет тела бычьей свечи
     - 2 – цвет тела медвежьей свечи

   ```
   //--- установим цвет контура и теней PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,clrBlue); //--- установим цвет тела для бычьей свечи PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,clrGreen); //--- установим цвет тела для медвежьей свечи PlotIndexSetInteger(0,PLOT_LINE_COLOR,2,clrRed);
   ```
7. Исправлен ряд ошибок и ускорена работа с тиковой историей при помощи функций CopyTicks.
8. Разрешено использование операторов в интерфейсах.

### Market

1.  Исправлена ошибка, в некоторых случаях приводившая к повторному запросу авторизации на MQL5.community при покупке в Маркете.

### Tester

1. Добавлен перевод пользовательского интерфейса на греческий язык, малайский язык и иврит.

Обновлена документация.

**Предыдущие новости:**

- [Веб-платформа MetaTrader 5: оптимизация кода и новые возможности интерфейса](https://www.metatrader5.com/ru/releasenotes/terminal/1382)
- [MetaTrader 5 iOS build 1403](https://www.metatrader5.com/ru/releasenotes/iphone/1379)
- [MetaTrader 5 Android build 1372](https://www.metatrader5.com/ru/releasenotes/android/1377)
- [MetaTrader 5 build 1430: Обновленная вкладка Exposure](https://www.metatrader5.com/ru/releasenotes/terminal/1375)
- [MetaTrader 5 build 1395: Ускорение торговых операций и улучшения в визуальном тестировании](https://www.metatrader5.com/ru/releasenotes/terminal/1369)
