MetaTrader 4 Client Terminal build 646: Умный поиск, книги в Маркете и обновление окна параметров MQL4-программы - страница 10

 

а когда исправите такой баг: иду в настройки - графики - "макс баров истории" пишу 3000000 - затем иду в настройки - архив котировок, скачиваю котировки какого-нибудь символа - затем смотрю в настройки - графики - "макс баров истории" а там уже 10000000 - и так постоянно

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

 

Итак, исследование показало.

Фактически возвращаемые коды причины деинициализации:

Описание
Значение
Эксперт прекратил свою работу, вызвав функцию ExpertRemove()0
Программа удалена с графика
1
Программа перекомпилирована
2
Символ или период графика был изменен
3
График закрыт
4
Входные параметры были изменены пользователем
5
Активирован другой счет либо произошло переподключение к торговому серверу вследствие изменения настроек счета
6
Применен другой шаблон графика
7
Признак того, что обработчик OnInit() вернул ненулевое значение
8
Терминал был закрыт4


Фактические значения констант:

Константа
Значение
REASON_PROGRAM
7
REASON_REMOVE
1
REASON_RECOMPILE
2
REASON_CHARTCHANGE
3
REASON_CHARTCLOSE
4
REASON_PARAMETERS
5
REASON_ACCOUNT
6
REASON_TEMPLATE
8
REASON_INITFAILED
9
REASON_CLOSE
10
Ну кое-что действительно совпадает.
 
еще хотелось бы в окне навигатор - избранное иметь возможность создавать папки, а то там все вперемешку - и индикаторы и эксперты, и когда там много чего накапливается то неудобно искать то что нужно
 
а возможно сделать таймер в EventSetTimer не int, а double? - тогда никому ничего переписывать не придется и будет возможность делать милисикундные таймеры, альтернатива зацикливания в экспертах
 
Хочу понять - изменение значения Внешней переменной внутри кода это ошибка или нет?
Не важно, будет ли эта переменная изменена в таблице свойств индикатора/советника, измененные значения сохраняются.
Если ошибка то необходимо добавить ее в сообщения компилятора.
 
Y.A.K._:

Итак, исследование показало...

Прошу разработчиков прокомментировать, как именно будет исправлена вышеописанная ситуация в последующих билдах, потому что на данный момент мне пришлось для отслеживания ненулевого завершения инициализации вместо константы ввести 8.
 

компилятор такие штуки стал пропускать

void OnStart()
  {
 
   int l;
   if(l=0) return;
 
  }
 
wlad:

компилятор такие штуки стал пропускать

значит пора обновиться.



 
MoneyFest:
а возможно сделать таймер в EventSetTimer не int, а double? - тогда никому ничего переписывать не придется и будет возможность делать милисикундные таймеры, альтернатива зацикливания в экспертах
Используйте EventSetMillisecondTimer
 
Y.A.K._:
Прошу разработчиков прокомментировать, как именно будет исправлена вышеописанная ситуация в последующих билдах, потому что на данный момент мне пришлось для отслеживания ненулевого завершения инициализации вместо константы ввести 8.

Разработчики советуют использовать именованные константы.

А вот если какая-то из них не соответствует реальности - сообщите, пожалуйста, в сервисдеск.

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