Сброс параметров при перекомпиляции советника, прикрепленного к графику

 
Сегодняб был случай. Рабоатет на реале советник. И надо было мне ему одну переменную добавить (типа максимального риска - размер сделки как процент от депо). Изменил - благо это не сложно, и перекомпилил. Так он, редиска, на прикрепелнном к графику советнике сбросил параметры на дефолтные (а вообще они из файла грузятся) и он открыл сделку!!

Еле в 0 увели с товарщем. Таких нервов небыло с незапамятных времен ручного трейдинга.

Можно ли как-нибудь бороться с проблемой?
 
Да вот это интересно, в тестере после компиляции советник сохраняет параметры, а на графике сбрасывает. То что в тестере так - очень замечательно, если бы и на графике было бы еще лучше.
 
kniff писал (а):
Сегодняб был случай...
Было у меня такое тоже пару раз. С тех пор советники работают во-первых, на другой копии МТ4, а во-вторых, вообще на другом компьютере. Конечно, то, что Вы предлагаете не помешает, как дополнительное средство безопасности, но и самим надо предохраняться: не выполнять никаких изменений в советнике, работающем на реале, а делать это на демо-счетах.
 
kniff писал (а):
Сегодняб был случай ...

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

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

 
Valmars писал (а):
kniff писал (а):
Сегодняб был случай ...

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

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



Но в тестере же сохраняются параметры, даже если добавляешь новые переменные.
 
Integer писал (а):
Valmars писал (а):
kniff писал (а):
Сегодняб был случай ...

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

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



Но в тестере же сохраняются параметры, даже если добавляешь новые переменные.
Тестер - это надстройка над терминалом. Просто он запоминает последние введённые значения в файле Expert.ini и инициализирует ими эксперта при запуске тестирования. Я думаю так.
 
Не при запуске тестирования, а в окне совойств после компиляции сохраняются измененные параметры. Привыкнув к этому пользователь действительно бывает ошарашен тем, что на графике происходит сброс настроек.
 
Хорошо, если бы разработчики прокоментировали данный вопрос.
 
еще могу добавить, что прежде чем заходить в реал нужно продумать как восстановить глобальные переменные которые тоже сбросят на default после компиляции. Если меняется timeframe то глобал vars остаются а инит пробежит. Это тоже надо иметь в виду.
Причина обращения: