MQL4 Как заставить советника продолжать работать при смене профиля?
Столкнулся с большой проблемой: при смене профиля в МТ4, советники на старом (закрытом) профиле перестают работать. А если снова открыть тот профиль, на котором стояли советники, они просят заново вводить все параметры, т.е. инициализируются повторно.
Это вдвойне плохо: мне надо, чтобы при смене профилей советники продолжали работу и не инициализировались повторно.
Прошу помочь.
В настройках все так:
Советник на данный момент имеет такой вид:
Советники и индикаторы вызывают OnInit даже при смене таймфрейма. Я правильно понял, что на разных профилях работают разные советники? Или одни и те же, но настройки разные?
Если советники разные, может так сработает.
Со сменой профиля не пробовал, попробуйте сами. Надо в OnDeinit записывать причину деинита, а в ините ее анализировать. Вот код, напишите потом плз, работает или нет
// привожу код полностью из моего робота, так понятнее будет int LastDeinitReason = 0; int OnInit() { Print("UninitializeReason() from OnInit = ", UninitializeReason()); if(LastDeinitReason==REASON_CHARTCHANGE || LastDeinitReason==REASON_TEMPLATE) { LastDeinitReason = 0; return(INIT_SUCCEEDED); } if(LastDeinitReason==REASON_PARAMETERS) { SetParams(); return(INIT_SUCCEEDED); } // раз мы здесь, значит первый запуск и надо все открыть, создать, настроить... OpenLogFiles(); TrButtons.DeleteButtons(); TrButtons.CreateButtons(); CreatePriceLines(); InitParams(); EventSetTimer(SEC_TIMER_INTERVAL); LastDeinitReason = 0; return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { Print("UninitializeReason() from OnDeinit = ", UninitializeReason()); // это для отладки, можно потом удалить LastDeinitReason = reason; if(reason==REASON_CHARTCHANGE || reason==REASON_TEMPLATE || reason==REASON_PARAMETERS) // если причины были такие, ничего не делаем return; EventKillTimer(); CloseLogFiles(); TrButtons.DeleteButtons(); DeletePriceLines(); }
Советники и индикаторы вызывают OnInit даже при смене таймфрейма. Я правильно понял, что на разных профилях работают разные советники? Или одни и те же, но настройки разные?
Если советники разные, может так сработает.
Со сменой профиля не пробовал, попробуйте сами. Надо в OnDeinit записывать причину деинита, а в ините ее анализировать. Вот код, напишите потом плз, работает или нет
Спасибо, попробую.
Уточню, что речь идет об одном советнике, но с разными настройками.
Почему-то я решил, что эта проблема весьма распространена (ну не один же я пользуюсь несколькими профилями :) ) и уже имеет давно решение :(
Пока я решил пойти по пути наименьшего сопротивления и просто советников буду запускать во втором терминале, где не будет необходимости переключаться по профилям. А анализ буду вести в первом терминале.
Тем не менее, если у кого есть решение вопроса на уровне советника, буду рад.
Спасибо, попробую.
Уточню, что речь идет об одном советнике, но с разными настройками.
Почему-то я решил, что эта проблема весьма распространена (ну не один же я пользуюсь несколькими профилями :) ) и уже имеет давно решение :(
Что такое "смена профиля"?
1. Закрытие всех открытых графиков и сохранение их состояний в соответствующих chr-файлах в папке текущего профиля. Все эксперты и кастомные индикаторы деинициализируются и выгружаются
2. Открытие новых графиков из соответствующих chr-файлов, содержащихся в папке нового профиля. Новые эксперты и индикаторы загружаются и инициализируются.
А не факт, что на вновь открытых графиках есть те же самые эксперты и индикаторы. Там вообще может быть не прикреплено никаких экспертов
Спасибо всем, я понял, что это сложно (если вообще возможно) сделать. Мне это точно не под силу.
Просто меня ввело в заблуждение наличие настройки в "настройках", позволяющее не отключать автоматическую торговлю при смене профиля. Видимо, я не правильно понял, что она означает. Ну да ладно, я наладил второй терминал, где открываю нужные графики и вешаю советника, а ручной анализ веду в основном терминале.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Столкнулся с большой проблемой: при смене профиля в МТ4, советники на старом (закрытом) профиле перестают работать. А если снова открыть тот профиль, на котором стояли советники, они просят заново вводить все параметры, т.е. инициализируются повторно.
Это вдвойне плохо: мне надо, чтобы при смене профилей советники продолжали работу и не инициализировались повторно.
Прошу помочь.
В настройках все так:
Советник на данный момент имеет такой вид: