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

 
chief2000:
Хочу понять - изменение значения Внешней переменной внутри кода это ошибка или нет?
Не важно, будет ли эта переменная изменена в таблице свойств индикатора/советника, измененные значения сохраняются.
Если ошибка то необходимо добавить ее в сообщения компилятора.

Изменение значение input - ошибка. Надо добавить в компилятор.
 
komposter:
Используйте EventSetMillisecondTimer

спасибо, как это я ее проглядел)
 
komposter:

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

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

Спасибо, заявка #1009296.

Что случилось, когда я использовал именованные константы (так обычно и делаю, с этого и начал), написано выше. А Вы, простите, принадлежите к разработчикам?

 
Y.A.K._:

А Вы, простите, принадлежите к разработчикам?

К MetaQuotes - нет.
 
komposter:
Изменение значение input - ошибка. Надо добавить в компилятор.

Есть и еще несколько явных ошибок которые видны лишь при включенном "#property strict", но они должны быть ошибками по умолчанию. Один пример: если локальная переменная определена внутри "if", но используется за его пределами.
 
chief2000:

Есть и еще несколько явных ошибок которые видны лишь при включенном "#property strict", но они должны быть ошибками по умолчанию. Один пример: если локальная переменная определена внутри "if", но используется за его пределами.

В этом случае (без "#property strict") компилятор видит определённые в функции переменные во всей функции, где бы они ни были определены. Как было в 509 и ниже. Что-то типа обратной совместимости.
 

Перестала работать функция FileFlush.

Если взять пример скрипта из справки и вместо Sleep(10) поставить Sleep(100), чтобы легче было контролировать размер файла по ходу работы скрипта, то можно увидеть, что до момента закрытия файла example.csv его размер остается равным нулю.

 
Scriptong:

Перестала работать функция FileFlush.

Если взять пример скрипта из справки и вместо Sleep(10) поставить Sleep(100), чтобы легче было контролировать размер файла по ходу работы скрипта, то можно увидеть, что до момента закрытия файла example.csv его размер остается равным нулю.

Да, все верно. Мы фактически выключили прямое срабатывание этой функции, оставляя очень редкие случаи ее срабатывания в нужный момент. Когда сбрасывать кеши, решает наша система. За счет этого кардинально ускорена работа с файлами.
 
Renat:
Да, все верно. Мы фактически выключили прямое срабатывание этой функции, оставляя очень редкие случаи ее срабатывания в нужный момент. Когда сбрасывать кеши, решает наша система. За счет этого кардинально ускорена работа с файлами.

Понятно.
Не могли бы Вы более подробнее описать эти редкие случаи? Каким образом они определяются? Потому как иногда в результате сбоя ОС (или просто отключения электричества) теряются данные за сутки и более. Пока ничего лучше не придумал, чем с некоторой периодичностью закрывать и открывать файл заново.

 
Scriptong:

Понятно.
Не могли бы Вы более подробнее описать эти редкие случаи? Каким образом они определяются? Потому как иногда в результате сбоя ОС (или просто отключения электричества) теряются данные за сутки и более. Пока ничего лучше не придумал, чем с некоторой периодичностью закрывать и открывать файл заново.


обновился до этой версии, перестал работать как надо отладчик из метаедитора,

на все переменные что вставляю в окно по AddWatch, получаю ответ - Expression could not be evaluateed...