---
title: "MetaTrader 5 build 4260: общие улучшения - Последние обновления"
description: "Исправлена ошибка подписки на бесплатные продукты в сервисе «Подписки». - Последние обновления"
image: "https://www.metatrader5.com/c/17/1/metaeditor-search.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/2354"
---

# MetaTrader 5 build 4260: общие улучшения

## Исправлена ошибка подписки на бесплатные продукты в сервисе «Подписки»

22 марта 2024

### Terminal

1.  Исправлена ошибка подписки на бесплатные продукты в сервисе «[Подписки](https://www.metatrader5.com/ru/releasenotes/terminal/2137)». В некоторых случаях соответствующая кнопка могла отсутствовать в диалоге.
2.  Обновлены переводы пользовательского интерфейса.

### MQL5

1.  Расширена поддержка событий клавиатуры:

     - Добавлено событие CHARTEVENT_KEYUP для обработчика [OnChartEvent](https://www.mql5.com/ru/docs/event_handlers/onchartevent). Оно позволяет отслеживать, когда пользователь отпускает клавишу на клавиатуре.
     - Добавлена обработка «Мертвых» клавиш ([Dead keys](https://ru.wikipedia.org/wiki/Мёртвые_клавиши)) — это клавиши, позволяющие изменить вид следующего вводимого символа. Например, в греческой раскладке для установки ударений над гласными ά, έ, ύ и т.д. требуется нажать клавишу «;», а затем ввести букву. Теперь нажатие таких клавиш можно отслеживать при помощи функции [TranslateKey](https://www.mql5.com/ru/docs/common/translatekey).
     - Доработаны функции [TranslateKey](https://www.mql5.com/ru/docs/common/translatekey) и [TerminalInfoInteger](https://www.mql5.com/ru/docs/check/terminalinfointeger). Теперь при получении событий CHARTEVENT_KEYUP или CHARTEVENT_KEYDOWN в OnChartEvent вы можете получить полное состояние клавиатуры на момент возникновения события. Например, если пользователь нажал клавишу Z, вы сможете узнать, была ли в тот момент нажата клавиша Ctrl или Shift. Для остальных событий функции будут работать как раньше — возвращать состояние клавиатуры на текущий момент.
2.  Обновлена библиотека Alglib. В связи с обновлением изменены следующие методы в классах CMatrixDouble и CMatrixComplex:

   ```
   vector<double/complex> operator[](const int i) const; vector<double/complex> operator[](const ulong i) const;
   ```

   Теперь вместо них используется один метод с константным возвращаемым значением:

   ```
   const vector<double/complex> operator[](const ulong i) const;
   ```

   Внесенная правка позволит отловить некорректное использование результата по месту: в новой версии Alglib код mat[row][col]=x работает не так, как в старой. Ранее это была запись в матрицу, а теперь — запись во временный объект vector<double/complex>, который после записи сразу же уничтожается. Добавление const к возвращаемому значению делает невозможным использование записи mat[row][col]=x. Поскольку mat[row] теперь возвращает константный вектор, попытка перезаписать его элемент через mat[row][col] приведет к ошибке компиляции.
3.  Исправлена ошибка, в некоторых случаях приводившая к некорректной работе функций [ChartGet*](https://www.mql5.com/ru/docs/chart_operations/chartgetdouble).

### MetaEditor

1.  Добавлен поиск по книге «[Нейросети в алготрейдинге на MQL5](https://www.mql5.com/ru/neurobook)». Теперь он объединен в одном разделе с ранее вышедшей книгой «[Программирование на MQL5 для трейдеров](https://www.mql5.com/ru/book)».

   ![Добавлен поиск по недавно вышедшей книге «Нейросети в алготрейдинге на MQL5»](https://www.metatrader5.com/c/17/1/metaeditor-search.png)

### Tester

1.  Исправлена оптимизация на большом количестве [удаленных агентов](https://www.metatrader5.com/ru/terminal/help/algotrading/strategy_optimization#farm). В некоторых случаях ошибка могла приводить к чрезмерной нагрузке на CPU.

### MetaTrader 5 Web Terminal

1. Исправлено выставление лимитных ордеров для инструментов с [биржевым исполнением](https://www.metatrader5.com/ru/terminal/help/trading/general_concept#execution_type). Теперь при изменении цены выставляемого ордера относительно текущей (выше или ниже) предлагаемый тип ордера не будет изменяться с Buy Limit на Sell Limit и обратно, как это происходит для инструментов остальных типов. Таким образом, пользователь при необходимости сможет выставлять ордера Buy Limit выше рынка и Sell Limit ниже рынка, чтобы гарантированно ограничить цену сделки.
2. Исправлено отображение счетчиков выбранных символов в «Обзоре рынка».

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

- [MetaTrader 5 build 4230: больше встроенных приложений и расширение поддержки ONNX](https://www.metatrader5.com/ru/releasenotes/terminal/2353)
- [MetaTrader 5 build 4150: экспорт торгового отчета и новые методы машинного обучения в MQL5](https://www.metatrader5.com/ru/releasenotes/terminal/2342)
- [MetaTrader 5 build 4040: Улучшения и исправления](https://www.metatrader5.com/ru/releasenotes/terminal/2322)
- [MetaTrader 5 build 4000: Улучшения в торговом отчете и веб-терминале](https://www.metatrader5.com/ru/releasenotes/terminal/2313)
- [MetaTrader 5 build 3980: Улучшения и исправления](https://www.metatrader5.com/ru/releasenotes/terminal/2308)
