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

 

В пятницу 24 марта 2023 года будет выпущено обновление MetaTrader 4. В нем исправлен ряд ошибок и повышена стабильность работы платформы.

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

 
Обновил и перекомпилировал. Жду открытия рынка
 
Вроде все нормально, полет отличный.
 
Как обновить билд, у меня версия 1370 от 13 января ?
 
fregat555 #:
Как обновить билд, у меня версия 1370 от 13 января ?

Обновления МТ4 закачиваются в фоновом режиме, устанавливаются после перезапуска терминала МТ4

 
Не знаю, с чем связано, пока не разбирался, но во многих индикаторах теперь не работает AutoGMT или выбор часа начала дня.
 

ПК1:


ПК2:


Проблема: советник, скомпилированный на ПК1 (вин-11, последний билд МЕ), на ПК2 работает некорректно: 

GBPUSD(£),M5: unknown symbol name GBPUSD(?) for OrderSend function error

Если скомпилировать советника на ПК2, он работает нормально.


Подскажите, что поменять на ПК1, чтобы символ фунта отображался в МТ4 в названии инструментов, и советник, собранный на нем, работал на других ПК.

Благодарю.

 
Andrey Khatimlianskii #:

Подскажите, что поменять на ПК1, чтобы символ фунта отображался в МТ4 в названии инструментов, и советник, собранный на нем, работал на других ПК.

Благодарю.

Можно попробовать: Панель управления -> Язык и региональные стандарты -> закладка Дополнительно -> блок Язык программ, не поддерживающий Юникод.

Полагаю, там надо выбрать что-либо из Западно-Европейского.

 
Stanislav Korotky #:

Можно попробовать: Панель управления -> Язык и региональные стандарты -> закладка Дополнительно -> блок Язык программ, не поддерживающий Юникод.

Полагаю, там надо выбрать что-либо из Западно-Европейского.

это символ фунта - ни знак фунта, ни евры, ни рубля или какой либо другой валютный спец символ мкл не распознаёт и не сможет его передать в функцию, непонятно почему сам терминал может эти символы отображать, но не может с ними работать
 
Aleksey Semenov #:
это символ фунта - ни знак фунта, ни евры, ни рубля или какой либо другой валютный спец символ мкл не распознаёт и не сможет его передать в функцию, непонятно почему сам терминал может эти символы отображать, но не может с ними работать

Терминал работает с API системы, которая позволяет менять языковые настройки. При правильных настройках будет не только отображать (фунт, йену и пр. символы), но и отправлять их. Человек же написал выше, что на одном из компов все работает (если на нем же и откомпилировать).

 

В этом билде столкнулся с непонятками отрисовки объектов индикатором. Пока идёт работа с индикаторными буфферами, вроде всё нормально, но как только из них запрашиваем информацию и на основании её рисуем графические объекты, начинаются глюки. И ладно было бы это с одни единственным индикатором. Я бы грешил на свой код. Но мне высылали подобные программные продукты, созданные не мной и не вчера. Там наблюдается то же самое. Смотрите, что происходит. Если я кидаю на график подобный индикатор и при этом я ещё сегодня не обращался к этому графику вообще, то при переключении таймфреймов натыкаешься на вот такую отрисовку:

Видите ГДЕ отрисованы отрезки в подокне индикатора? Так не должно быть. Смотрите, это я щёлкнул по ТФ М5. Самое интересное, что достаточно переключиться на другой ТФ, а затем вернуться обратно, как всё начинает рисоваться как надо. Вот результат:

На втором скрине прорисовано то, чего нет на первом и убрано то, чего там не должно быть.

Тут есть 2 нюанса. 1. Вы можете мне сказать, что у меня в блоке деиннициализации не верно удаляются объекты. Я поначалу тож на это грешил, пока ни закомментировал в deinit() всё и ни вставил строку: ObjectsDeleteAll(); Так что удаляется всё корректно. 2. В принципе, раз после переключения между таймфреймами приводится прорисовка в порядок, то можно было бы про этот глюк забыть. НО! Беда в том, что при последующем поступлении тиков и дальнейшей прорисовке свеч глюк повторяется - индикатор продолжает отрисовывать графические объекты как попало. Часть рисует, а часть нет. Снова переключаешься между таймфреймами и снова всё приходит в норму.

Мне до фени, а заказчик жалуется, что не может вовремя сигналы отследить. Что делать-то?

Код индикатора пришлось править чужой. Там код построен по старой схеме: Инициализация, деинициализация и функция start(). Может в этом причина? Хотя, ранее все эти три функции после изменений языка работали нормально - нареканий не вызывали...

Причина обращения: