Новая версия платформы MetaTrader 5 build 2485: улучшения в iCustom и общая оптимизация в MQL5

 

В пятницу 5 июня 2020 года будет выпущена обновленная версия платформы MetaTrader 5.

Перекомпилируйте свои продукты в Маркете

Убедительно просим всех разработчиков, публикующих свои продукты в Маркете, перекомпилировать свои файлы в новой версии платформы и загрузить обновленные версии в Маркет. В текущей версии мы исправили ряд важных ошибок. Они могут негативно сказаться на работе продуктов, поэтому крайне желательно их перекомпилировать.


Обновление содержит следующие изменения:

  1. Terminal: Оптимизировано и значительно ускорено редактирование баровой истории у пользовательских финансовых инструментов, в том числе при помощи функции CustomRatesUpdate.
  2. Terminal: Исправлены ошибки, возникавшие при экспорте настроек пользовательских инструментов в JSON-файл.
  3. MQL5: Изменен алгоритм загрузки пользовательских индикаторов с помощью 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", если таковая отсутствует.

  4. MQL5: Оптимизирована и значительно ускорена работа функции HistorySelect, позволяющая запрашивать историю сделок и ордеров.
  5. MQL5: Исправлена ошибка, возникавшая при запросе тиков через функцию CopyTicksRange. Из-за нее в качестве начала диапазона принималось начало указанного дня без учета указанного времени.
  6. MQL5: Оптимизировано и значительно ускорено отображение предупреждений с помощью функции Alert.
  7. MQL5: Добавлено новое свойство SYMBOL_TIME_MSC — время последнего тика символа в миллисекундах. Для получения свойства используется функция SymbolInfoInteger.
  8. Исправления по крешлогам.
Обновление будет доступно через систему Live Update.
 
На всякий случай здесь оставлю.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 2450: Сервис "Подписки", улучшения в интерфейсе и удобные функции в MetaEditor

fxsaber, 2020.06.02 02:02

Очень не хватает этих свойств.

AccountInfoInteger(ACCOUNT_TIME_LASTTICK_MSC); // Время Обзора рынка в миллисекундах - время последнего тика (за исключением кастомных символов) в платформе.
TerminalInfoInteger(TERMINAL_TIME_LOCAL_MSC);  // Локальное время в миллисекундах.

Возможно ввести их?


Логи пишутся с локальным временем в миллисекундах. Вести свои журналы так не получается без костылей.

 
Можно ли узнать примерные сроки внедрения в язык и терминал функционала TTS (text2speech), раз уж это было заявлено, и можно ли с этим внедрить обратный сервис, а именно STT (speech2text) для голосового управления советниками и создания обученных на питоне и работающих на МТ5 интеллектуальных торговых систем?
 
Сейчас отображаются закрытые позиции на чарте. Предлагаю точками обозначать места реджектов - цена ордера в истории со статусом rejected. Это сразу давало бы повод разобраться в причинах и оценить визуально количество проблемных мест.
 
2020.06.05 12:03:15.731 Network '': authorized on RannForex-Server through as.eu 5 (ping: 65.01 ms, build 2361)
2020.06.05 12:03:15.998 Network '': terminal synchronized with RannForex Limited: 0 positions, 0 orders, 188 symbols, 0 spreads

2020.06.05 12:03:16.319 Virtual Hosting failed to get list of virtual hosts [503] (www.mql5.com:443 send failed [503: Service Unavailable])
2020.06.05 12:03:16.714 Virtual Hosting failed to get list of virtual hosts [503] (www.mql5.com:443 send failed [503: Service Unavailable])

Выделенная синхронизация как часто будет происходить?

0 spreads - отсутствие расхождений?


VirtualHosting при каких делах?

 
MetaQuotes:
  1. MQL5: Оптимизирована и значительно ускорена работа функции HistorySelect, позволяющая запрашивать историю сделок и ордеров.
  2. MQL5: Исправлена ошибка, возникавшая при запросе тиков через функцию CopyTicksRange. Из-за нее в качестве начала диапазона принималось начало указанного дня без учета указанного времени.
  3. MQL5: Оптимизировано и значительно ускорено отображение предупреждений с помощью функции Alert.

После 2475 эти пункты не правили?

 
MetaQuotes:

Убедительно просим всех разработчиков, публикующих свои продукты в Маркете, перекомпилировать свои файлы в новой версии платформы и загрузить обновленные версии в Маркет. Они могут негативно сказаться на работе продуктов, поэтому крайне желательно их перекомпилировать.

С каких именно билдов начались эти ошибки?

 
Stanislav Korotky:

С каких именно билдов начались эти ошибки?

С тех, в которых появился этот компилятор. Логика.
 
Рекомендуем всем перекомпилировать все продукты и перезалить  сегодняшним релизом.

Мы послали всем авторам уведомления по почте.
 
Renat Fatkhullin:
Рекомендуем всем перекомпилировать все продукты и перезалить  сегодняшним релизом.

Мы послали всем авторам уведомления по почте.

А автовалидатор не зависнет от большого количества одновременных тестов? Назовите пожалуйста до какой даты это желательно сделать и до какой настоятельно рекомендовано.

 
Что это?
2020.06.06 00:36:11.114 Ticks   future statistic XAUUSD (stat: 2698.03.11 00:00:00, last: 1970.01.01 00:00:00.000)
Появляется после запуска Терминала.