Новая версия платформы MetaTrader 5 build 2280

 

В пятницу 13 декабря 2019 года будет выпущена обновленная версия платформы MetaTrader 5. В ней мы внесли ряд важных дополнений и исправлений по отзывам, полученным после публикации большого обновления MetaTrader 5 build 2265:

  1. Terminal: Исправлена ошибка, не позволявшая удалить эксперта с графика, для которого нет данных.
  2. Terminal: Исправлено отображения заголовков графиков при работе под Wine.
  3. MQL5: Ускорена загрузка и компиляция MQL5 программ.
  4. MQL5: Теперь при двойном клике на графике MQL5-программе передается событие одиночного клика. Ранее такие события не обрабатывались.
  5. MQL5: Исправлена ошибка в работе функции StringTrimRight.
  6. Tester: Исправлена ошибка, из-за которой символ для тестирования в настройках мог оказаться пустым. Такое могло происходить при переключении между торговыми счетами с разным набором торговых инструментов. Как это происходит сейчас: если ранее выбранный в настройках символ отсутствует среди доступных на торговом счете, вместо него автоматически выбирается первый доступный символ из Обзора рынка.
  7. MetaEditor: Исправлена загрузка иконки приложения при переоткрытии свойств проекта.
  8. Добавлена документация по функциям DirectX для 3D-визуализации.
  9. Обновлены переводы пользовательского интерфейса.
  10. Исправления по крешлогам.

Обновление будет доступно через систему Live Update.

Мы настоятельно рекомендуем установить это обновление.
 

MetaQuotes Software Corp.:

Tester: Исправлена ошибка, из-за которой символ для тестирования в настройках мог оказаться пустым. Такое могло происходить при переключении между торговыми счетами с разным набором торговых инструментов. Как это происходит сейчас: если ранее выбранный в настройках символ отсутствует среди доступных на торговом счете, вместо него автоматически выбирается первый доступный символ из Обзора рынка.

2270. Выбираем кастомный символ в Тестере, а затем удаляем его из Обзора рынка. Получаем пустой символ в Тестере.

А что плохого в этом?

 

В ME есть список последних открытых файлов. Он очень короткий.


Открываю советник. Там матрешка из библиотек. Через ALT+G дохожу до искомого места, автоматически открывая десяток mqh. По итогу в списке последних открытых файлов исходного советника нет.


Возможно ли сделать списки последних файлов отдельными для Experts, Include, Indicators и т.д.?

 
SEM:

Похоже ошибка с буфером спрэда, данные не совпадают и занижены. Такая ситуация по всем символам кроме мажоров и кроссов.

График чистый, без индикаторов.


Запустите этот индикатор (можете даже сравнить два режима: все тики и каждый тик на основе реальных тиков)

Файлы:
 

Систему скомпилированных библиотек сломали совсем.

До последних обновлений поиск библиотеки проходил сначала в папке эксперта, а потом в Libraries. Сейчас изначально в Libraries ищет и поэтому не находит.

А еще увеличилось время передачи структур в библиотечную функцию аж в 2 раза.

Документация по MQL5: Основы языка / Функции / Экспортирование функций
Документация по MQL5: Основы языка / Функции / Экспортирование функций
  • www.mql5.com
Данный модификатор указывает компилятору внести функцию в таблицу EX5-функций, экспортируемых данным исполняемым ex5-файлом. Только функции с таким модификатором становятся доступными ("видимыми") из других mql5-программ.
 

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

Новая версия платформы MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий

Roffild, 2019.12.09 00:34

Сломалась проверка файлов *.mqh

C:\Program Files\MetaTrader 5>"C:\Program Files\MetaTrader 5\metaeditor64.exe" /log /compile:"d:\MQLProjects\MQL5\Include\Object.mqh"

d:\MQLProjects\MQL5\Include\Object.mqh : information: checking 'Object.mqh'
d:\MQLProjects\MQL5\Include\StdLibErr.mqh : information: including 'StdLibErr.mqh'
d:\MQLProjects\MQL5\Include\Object.mqh(11,1) : error 149: 'class' - unexpected token, probably type is missing?
d:\MQLProjects\MQL5\Include\Object.mqh(11,7) : error 154: 'CObject' - semicolon expected
d:\MQLProjects\MQL5\Include\Object.mqh(15,4) : error 149: 'CObject' - unexpected token, probably type is missing?
d:\MQLProjects\MQL5\Include\Object.mqh(15,21) : error 154: '*' - semicolon expected
d:\MQLProjects\MQL5\Include\Object.mqh(17,1) : error 149: 'public' - unexpected token, probably type is missing?
d:\MQLProjects\MQL5\Include\Object.mqh(17,7) : error 154: ':' - semicolon expected
d:\MQLProjects\MQL5\Include\Object.mqh(18,50) : error 149: 'm_next' - unexpected token, probably type is missing?

 
Roffild:

Систему скомпилированных библиотек сломали совсем.

До последних обновлений поиск библиотеки проходил сначала в папке эксперта, а потом в Libraries. Сейчас изначально в Libraries ищет и поэтому не находит.

А еще увеличилось время передачи структур в библиотечную функцию аж в 2 раза.

А ещё библиотека из маркета загружается в Scripts/Market, но не ищется там. MQ заявили, что надо копировать руками и это нормально для разработчиков.

 
Что-то когда-то изменилось, OnTimer теперь срабатывает в тестере?
 

Возможно ошибка в системе обновления релизов.

Два раза получилось воспроизвести - последовательность следующая.

1. Во время работы тестера делаем Справка - Проверить обновления десктопа - Последняя бета-версия.

2. По журналу видно, что нашел последнюю бету 2280, скачивает её.

3. Появляется стандартное окно с предложением перезагрузить терминал. Отвечаем "Позже".

4. После завершения тестирования закрываем терминал полностью и открываем снова.

5. Судя по справке - версия остается 2271, т.е. скачанное обновление не применилось.

6. Если повторить пункт 1, то в журнале пишет сообщение, что используется последняя бета.

Дальнейшие перезапуски терминала ни к чему не приводят. Теперь у меня версия 2271, которая не обновляется. Пробовал подключаться к демо-счету MQ, выходит снова стандартное окно с предложение перезапустить, но в результате все равно остается версия 2271.

 

Скажите в файл \MQL5\Include\Canvas\Canvas.mqh вносили изменения? Интересует строка 254


Есть подозрение, что в строку 254 была добавлена конструкция (+(string)ChartID()) . Как итог стало возможным нарваться при вызове ResourceCreate на ошибку

  • 4018 – ERR_RESOURCE_NAME_IS_TOO_LONG (the name of the resource is too long)

Пример:

взять статью Графические интерфейсы XI: Интеграция графической стандартной библиотеки (build 16), файл \MQL5\Experts\Article11\TestLibrary16\16_04\04.mq5 переименовать в 

\MQL5\Experts\Article11\TestLibrary16\16_04\04 ProvaCanvasName 04 ProvaCanvasName .mq5 . При запуске получим ошибку.
Если переименовать в \MQL5\Experts\Article11\TestLibrary16\16_04\04 ProvaCanvasName .mq5 - запуск проходит без ошибки.

Тестировал на 

MetaTrader 5 x64 build 2280 started (MetaQuotes Software Corp.)
Windows 10 (build 18363) x64, IE 11, UAC, Intel Core i3-3120M  @ 2.50GHz, Memory: 3205 / 8077 Mb, Disk: 84 / 415 Gb, GMT+2
C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075


Англ. пользователи жалуются, что у них переименование даже на короткое имя ( 04 ProvaCanvasName.mq5) уже вызывает ошибку.


Добавлено: оборудование у англ. пользователей

XM UK MT5 x64 build 2280 started (Trading Point Of Financial Instruments UK LTD)
Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i7-5820K  @ 3.30GHz, Memory: 8335 / 16279 Mb, Disk: 232 / 355 Gb, GMT+1
D:\Applicazioni\Lavoro\Piattaforme\MT5\MetaTrader 5 - XM


Добавлено, добавлено: терминал у англ. пользователя запускается с ключом /Portable.

 
Vladimir Karputov:

Скажите в файл \MQL5\Include\Canvas\Canvas.mqh вносили изменения? Интересует строка 254


Есть подозрение, что в строку 254 была добавлена конструкция (+(string)ChartID()) . Как итог стало возможным нарваться при вызове ResourceCreate на ошибку

  • 4018 – ERR_RESOURCE_NAME_IS_TOO_LONG (the name of the resource is too long)

Пример:

взять статью Графические интерфейсы XI: Интеграция графической стандартной библиотеки (build 16), файл \MQL5\Experts\Article11\TestLibrary16\16_04\04.mq5 переименовать в 

\MQL5\Experts\Article11\TestLibrary16\16_04\04 ProvaCanvasName 04 ProvaCanvasName .mq5 . При запуске получим ошибку.
Если переименовать в \MQL5\Experts\Article11\TestLibrary16\16_04\04 ProvaCanvasName .mq5 - запуск проходит без ошибки.

Тестировал на 


Англ. пользователи жалуются, что у них переименование даже на короткое имя ( 04 ProvaCanvasName.mq5) уже вызывает ошибку.

Было так:

//+------------------------------------------------------------------+
//| Create dynamic resource                                          |
//+------------------------------------------------------------------+
bool CCanvas::Create(const string name,const int width,const int height,ENUM_COLOR_FORMAT clrfmt)
  {
   Destroy();
//--- prepare data array
   if(width>0 && height>0 && ArrayResize(m_pixels,width*height)>0)
     {
      //--- generate resource name
      m_rcname="::"+name+(string)(GetTickCount()+MathRand());
      //--- initialize data with zeros
      ArrayInitialize(m_pixels,0);
      //--- create dynamic resource
      if(ResourceCreate(m_rcname,m_pixels,width,height,0,0,0,clrfmt))
        {
         //--- successfully created
         //--- complete initialization
         m_width =width;
         m_height=height;
         m_format=clrfmt;
         //--- succeed
         return(true);
        }
     }
//--- error - destroy object
   Destroy();
   return(false);
  }
//+------------------------------------------------------------------+
Причина обращения: