Новая версия платформы MetaTrader 5 build 2860: Улучшения для Wine и расширение интеграции с SQL - страница 3

 
Alexey Viktorov:

А я именно так и понял когда прочёл об этом в описании…

это радует, что хоть кто то понимает это нововведение

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

я input переменные в массив структур с помощью макроса добавляю - удобно, что добавляю одну цифру которая в макросе подставляется к имени input переменной, но нужны несколько счетчиков - а один глобальный... что с ним делать? какие задачи это может выполнять?

 
JRandomTrader:

Как я понял - подставляются при компиляции, т.е., при каждом упоминании в исходном тексте - новое значения.

Понял, спасибо. Получается, что-то похожее на __LINE__ для практических нужд.


Раньше так писал.

#define _USAGE _USAGE2(__LINE__)

#define _USAGE2(A) USAGE Usage##A;

Теперь логичнее заменять на __COUNTER__.

 
Igor Makanu:

это радует, что хоть кто то понимает это нововведение

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

я input переменные в массив структур с помощью макроса добавляю - удобно, что добавляю одну цифру которая в макросе подставляется к имени input переменной, но нужны несколько счетчиков - а один глобальный... что с ним делать? какие задачи это может выполнять?

Пока не знаю где можно это применить. Я и __LINE__ долго не использовал. Но в какой-то момент при отладке понял, что этим пользоваться надёжней, чем каждый Print() как-то идентифицировать и потом искать по тексту из какого места была распечатка.

 
Igor Makanu:

это радует, что хоть кто то понимает это нововведение

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

я input переменные в массив структур с помощью макроса добавляю - удобно, что добавляю одну цифру которая в макросе подставляется к имени input переменной, но нужны несколько счетчиков - а один глобальный... что с ним делать? какие задачи это может выполнять?

Такие счетчики позволяют добавить вариабельности и мутации кода на этапе компиляции.

 

Есть такая проблема. На чарте запущен эксперт. Если закрыть MT5, отключить интернет, запустить MT5, то при запуске MT5 для эксперта на чарте с некоторой задержкой срабатывает OnInit(), но AccountInfoInteger(ACCOUNT_MARGIN_MODE) возвращает ACCOUNT_MARGIN_MODE_RETAIL_NETTING, хотя тип счета ACCOUNT_MARGIN_MODE_RETAIL_HEDGING.

При этом AccountInfoInteger(ACCOUNT_LOGIN) пр отсутствии связи возвращает верное значение.

 

Самый эффективный (минимум шагов и траффик) способ сделать это.

  1. На WinServer2019 помещаете тики в кастомный символ и выключаете Терминал.
  2. На Win10 создаете такой же кастомный символ и выключаете Терминал.
  3. Копируете Bases\Custom папку с WinServer2019 на Win10.
  4. Запускаете Терминал на Win10.
  5. Теперь кастомный символ на Win10 содержит все, что было на WinServer2019.

 

b.2860

Ошибка была и в предыдущих версиях, но так явно ее получить удалось только в этой.

Ошибка трудновоспроизводимая. Пробовал получить при тестировании 2-3 инструментов - не проявляется. Только когда много символов и то весьма редко: в среднем 1 раз за год истории тестирования. Локализовать в простом коде тоже не получилось.

 

Стандартный ZigZag по бяковски отрисовывается в начале, если нажать кнопку Home.


 

Доброй ночи,

После обновления МТ5 в корневой папке появились отмеченные на изображении папки, эти папки также существуют в папке ../Mql5.

Я спрашиваю, какой контент правильный?

 
Под вайном улучшения просто огромные. Сильно снизилась загрузка процессора, стал гораздо отзывчивее интерфейс, вроде, прекратились его подвисания. Кнопки управления окнами перестали "вываливаться".
Причина обращения: