Ошибки, баги, вопросы - страница 1371

 

Уважаемые разработчики, не проходите мимо :)

Торговая платформа MetaTrader 4. Процесс оптимизации советников это прогон советника с разными параметрами, которые указаны во входных параметрах советника (input, sinput или extern). Меня интересует следующее, при каждой итерации прогона в оптимизаторе, переменные объявленные на глобальном уровне создаются по новой (обнуляются)? Или то что объявлено на глобальном уровне создается единожды и живет до окончания всего процесса оптимизации?

 
Konstantin Karpov:

Уважаемые разработчики, не проходите мимо :)

Торговая платформа MetaTrader 4. Процесс оптимизации советников это прогон советника с разными параметрами, которые указаны во входных параметрах советника (input, sinput или extern). Меня интересует следующее, при каждой итерации прогона в оптимизаторе, переменные объявленные на глобальном уровне создаются по новой (обнуляются)? Или то что объявлено на глобальном уровне создается единожды и живет до окончания всего процесса оптимизации?

Из справки про глобальные переменные

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

Область видимости и время жизни переменных - Документация на MQL4
  • docs.mql4.com
Область видимости и время жизни переменных - Документация на MQL4
 
Tapochun:

Из справки про глобальные переменные

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

я это знаю, вопрос ведь в другом...
 
Konstantin Karpov:

Уважаемые разработчики, не проходите мимо :)

Торговая платформа MetaTrader 4. Процесс оптимизации советников это прогон советника с разными параметрами, которые указаны во входных параметрах советника (input, sinput или extern). Меня интересует следующее, при каждой итерации прогона в оптимизаторе, переменные объявленные на глобальном уровне создаются по новой (обнуляются)? Или то что объявлено на глобальном уровне создается единожды и живет до окончания всего процесса оптимизации?

Переменные, объявленные на глобальном уровне, инициализируются начальными значениями (либо обнуляются, если нет явной инициализации) перед каждым очередным шагом оптимизации (и перед каждым одиночным тестированием). У объектов классов вызываются конструкторы
 
Slawa:
Переменные, объявленные на глобальном уровне, инициализируются начальными значениями (либо обнуляются, если нет явной инициализации) перед каждым очередным шагом оптимизации (и перед каждым одиночным тестированием)

понятно, а статические переменные обнуляются?

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

 
Konstantin Karpov:

понятно, а статические переменные обнуляются?

кстати почему в принт выводится деинициализация объектов класса, только один раз - при окончании всего цикла оптимизации? 

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

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

Видимо, включается раньше последнего деинита. Либо последний деинит производится слишком поздно. Смотреть надо

 
Сорри за оффтоп, кому подать жалобу на фрилайнсера из раздела "фриланс"? Выбрал исполнителя из топа разработчиков https://www.mql5.com/ru/job/developers, связался с ним напрямую по почте, описал задание, сделал предоплату, он взялся, сейчас сроки превысил и на связь не выходит. Нужно чтоб общественность узнала "героя"!
 
boitzov.asd2015:
Сорри за оффтоп, кому подать жалобу на фрилайнсера из раздела "фриланс"? Выбрал исполнителя из топа разработчиков https://www.mql5.com/ru/job/developers, связался с ним напрямую по почте, описал задание, сделал предоплату, он взялся, сейчас сроки превысил и на связь не выходит. Нужно чтоб общественность узнала "героя"!
У Вас в профиле, раздел "Сервисдеск". И это не оффтоп, тема для того и создана, чтобы задавать вопросы.
 
Tapochun:
У Вас в профиле, раздел "Сервисдеск". И это не оффтоп, тема для того и создана, чтобы задавать вопросы.
"чтобы напрямую сообщить разработчикам об ошибках в MQL5 или MetaTrader 5 или высказать свои пожелания по улучшению." заявку моей тематики там примут?
 
boitzov.asd2015:
"чтобы напрямую сообщить разработчикам об ошибках в MQL5 или MetaTrader 5 или высказать свои пожелания по улучшению." заявку моей тематики там примут?
Разделом "Работа" лично не пользовался, но, насколько я знаю, так есть "Арбитраж". Вам либо туда если Вы чем-то не довольны, либо - в сервисдеск. Хотя, я у Вас работ в профиле не вижу.
Причина обращения: