Nikolai Karetnikov:
Здравствуйте!
При разработке советника приходится выводить в лог массу сообщений разного уровня: отладочных, ошибок, предупреждений, информационных.
Как граммотно оформить это в коде, чтобы впоследствии можно было управлять выводом только сообщений необходимого уровня?
Я сразу когда пишу код, расставляю приоритеты логов.
input int Significance = 0; //0-отключены, 1-только важные, 2-все. //+------------------------------------------------------------------+ void OnTick() { PrintComm(1, "Наш текст"); } //+------------------------------------------------------------------+ void PrintComm(int prioritet, string txt) { bool _allow = Significance == 1 && prioritet == 1 ? true : Significance == 2 ? true : false; if(_allow) Print(txt); } //+------------------------------------------------------------------+
В СБ есть такой подход:
Идентификатор | Описание | Значение |
LOG_LEVEL_NO | Вывод сообщений отключен | 0 |
LOG_LEVEL_ERRORS | Выводятся только сообщения об ошибках | 1 |
LOG_LEVEL_ALL | Выводятся все сообщения | 2 |
Наверное ещё на сайте можно что-то найти в статейных материалах. Например.
Вот ещё Василий Соколов соорудил целый класс.
Вот неплохой материал для начала.

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / LogLevel
- www.mql5.com
LOG_LEVEL_NO и меньше, отключает вывод любых сообщений (автоматически устанавливается в режиме оптимизации). LOG_LEVEL_ERRORS включает вывод только сообщений об ошибках (значение по умолчанию). LOG_LEVEL_ALL и больше, включает вывод любых сообщений (автоматически устанавливается в режиме тестирования).

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
При разработке советника приходится выводить в лог массу сообщений разного уровня: отладочных, ошибок, предупреждений, информационных.
Как граммотно оформить это в коде, чтобы впоследствии можно было управлять выводом только сообщений необходимого уровня?