---
title: "MetaTrader 5 build 2485: Улучшения в iCustom и общая оптимизация в MQL5 - Последние обновления"
description: "Оптимизировано и значительно ускорено редактирование баровой истории у пользовательских финансовых инструментов, в том числе при помощи... - Последние обновления"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/2145"
---

# MetaTrader 5 build 2485: Улучшения в iCustom и общая оптимизация в MQL5

## Оптимизировано и значительно ускорено редактирование баровой истории у пользовательских финансовых инструментов, в том числе при помощи функции CustomRatesUpdate

5 июня 2020

### Terminal

1. Оптимизировано и значительно ускорено редактирование баровой истории у [пользовательских финансовых инструментов](https://www.metatrader5.com/ru/terminal/help/trading_advanced/custom_instruments), в том числе при помощи функции [CustomRatesUpdate](https://www.mql5.com/ru/docs/customsymbols/customratesupdate).
2. Исправлены ошибки, возникавшие при экспорте настроек пользовательских инструментов в JSON-файл.
3. Исправления по крешлогам.

### MQL5

1. Изменен алгоритм загрузки пользовательских индикаторов с помощью iCustom. Если перед именем пользовательского индикатора указан обратный слеш '\', то EX5-файл индикатора ищется относительно корневой папки MQL5. Таким образом при вызове iCustom(Symbol(), Period(), "\FirstIndicator"...) индикатор будет загружаться как MQL5\FirstIndicator.ex5. Если по этому пути файла не окажется, вернется ошибка 4802 (ERR_INDICATOR_CANNOT_CREATE). Если же путь не начинается с '\', то поиск и загрузка индикатора производятся в следующей последовательности:

     - Сначала EX5-файл индикатора ищется в той же папке, где находится EX5-файл вызывающей программы. Например, советник CrossMA.EX5 находится в папке MQL5\Experts\MyExperts и содержит вызов iCustom(Symbol(), Period(), "SecondIndicator"...) – тогда поиск индикатора производится по пути MQL5\Experts\MyExperts\SecondIndicator.ex5.
     - Если индикатор не найден в том же каталоге, то поиск производится относительно корневой директории индикаторов MQL5\Indicators. То есть ищется файл MQL5\Indicators\SecondIndicator.ex5. Если индикатор не найден по обоим путям, то функция вернет INVALID_HANDLE и будет взведена ошибка 4802 (ERR_INDICATOR_CANNOT_CREATE).

    Если путь к индикатору задан в поддиректории, например как MyIndicators\ThirdIndicator, то сначала поиск ведется в папке вызывающей программы (советник находится в папке MQL5\Experts\MyExperts) по пути MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5, а затем в случае неуспеха ищется файл MQL5\Indicators\MyIndicators\ThirdIndicator.ex5. При этом разделителем в пути нужно обязательно указывать двойной обратный слеш '\\', например, iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...). Также при обнаружении в коде программы вызова пользовательского индикатора через iCustom, компилятор будет неявно добавлять директиву "#property tester_indicator XXX", если таковая отсутствует.
2. Оптимизирована и значительно ускорена работа функции [HistorySelect](https://www.mql5.com/ru/docs/trading/historyselect), позволяющая запрашивать историю сделок и ордеров.
3. Исправлена ошибка, возникавшая при запросе тиков через функцию [CopyTicksRange](https://www.mql5.com/ru/docs/series/copyticksrange). Из-за нее в качестве начала диапазона принималось начало указанного дня без учета указанного времени.
4. Оптимизировано и значительно ускорено отображение предупреждений с помощью функции [Alert](https://www.mql5.com/ru/docs/common/alert).
5. Добавлено новое свойство SYMBOL_TIME_MSC — время последнего тика символа в миллисекундах. Для получения свойства используется функция [SymbolInfoInteger](https://www.mql5.com/ru/docs/marketinformation/symbolinfointeger).

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

- [MetaTrader 5 build 2470](https://www.metatrader5.com/ru/releasenotes/terminal/2141)
- [MetaTrader 5 build 2450: Сервис "Подписки", улучшения в интерфейсе и удобные функции в MetaEditor](https://www.metatrader5.com/ru/releasenotes/terminal/2137)
- [MetaTrader 5 build 2360: Расширение интеграции с SQLite](https://www.metatrader5.com/ru/releasenotes/terminal/2128)
- [MetaTrader 5 build 2340: Управление настройками счета в тестере и расширение интеграции с Python](https://www.metatrader5.com/ru/releasenotes/terminal/2125)
- [MetaTrader 5 build 2280](https://www.metatrader5.com/ru/releasenotes/terminal/2120)
