Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

CTsLogger - простая и гибкая система логирования - библиотека для MetaTrader 5

Просмотров:
212
Рейтинг:
(3)
Опубликован:
2025.04.10 19:16
Обновлен:
2025.04.10 20:43
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

CTsLogger - простая и гибкая система логирования, специально разработанная для создания и отладки торговых систем на MQL5. Основное преимущество CTsLogger - возможность временного включения отладочного режима для конкретных модулей или участков кода при сохранении более низкого глобального уровня логирования. Таким образом, вы можете получить детальное логирование определенных участков кода не "утонув" в потоке сообщений, а затем одной командой отключить его.

CTsLogger поддерживает 4 уровня логирования, в порядке возрастающей детализации:

 

1. LOG_LEVEL_ERROR - только ошибки

2. LOG_LEVEL_WARNING - предупреждения и ошибки

3. LOG_LEVEL_INFO - информационные сообщения, предупреждения и ошибки

4. LOG_LEVEL_DEBUG - отладочные сообщения, информационные сообщения, предупреждения и ошибки


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

 

Полный API

Создание и инициализация

- `CTsLogger()` - конструктор

- `~CTsLogger()` - деструктор

- `Initialize(string logFileName, bool logToTerminal = true)` - инициализация логгера

- `SetGlobalLogLevel(ENUM_LOG_LEVEL level)` - установка глобального уровня логирования

 

Методы логирования

- `Error(string moduleId, string message)` - логирование ошибок

- `Warning(string moduleId, string message)` - логирование предупреждений

- `Info(string moduleId, string message)` - логирование информационных сообщений

- `Debug(string moduleId, string message)` - логирование отладочных сообщений

 

Базовое управление отладочным режимом

- `EnableDebugMode(string moduleId)` - включение режима отладки для модуля

- `DisableDebugMode(string moduleId)` - отключение режима отладки для модуля и всех его дочерних модулей

- `IsInDebugMode(string moduleId)` - проверка, включен ли режим отладки

- `EnableDebugModeAll()` - включение режима отладки для всех модулей

- `DisableDebugModeAll()` - отключение глобального режима отладки с сохранением настроек модулей

 

Расширенное управление отладочным режимом

- `PauseDebugMode()` - временная приостановка режима отладки для всех модулей

- `ResumeDebugMode()` - возобновление режима отладки для ранее настроенных модулей

- `IsDebugModePaused()` - проверка, находится ли режим отладки на паузе

- `ResetDebugModules()` - полный сброс всех отладочных модулей

- `HasChildDebugModules(string parentModule)` - проверка наличия дочерних модулей в режиме отладки

 



Функция для поверки открыт ли рынок для торговли в данный момент по текущему символу Функция для поверки открыт ли рынок для торговли в данный момент по текущему символу

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

Интросортировка (интроспективная сортировка) с использованием функциональных указателей Интросортировка (интроспективная сортировка) с использованием функциональных указателей

Гибридный алгоритм сортировки, обеспечивающий высокую производительность при сортировке массивов простых типов, структур или указателей объектов.

Функция для перевода количества секунд в количество лет, месяцев, дней, часов, минут, секунд Функция для перевода количества секунд в количество лет, месяцев, дней, часов, минут, секунд

Учитывается, что в месяце 30 дней, в году 365 дней Скрипт демонстрирует счетчик времени до начала нового года

Bands R-squared Bands R-squared

Простой советник с пользовательской функцией оптимизации на R-квадрат