Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 212
- Рейтинг:
- Опубликован:
- 2025.04.10 19:16
- Обновлен:
- 2025.04.10 20:43
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
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 дней Скрипт демонстрирует счетчик времени до начала нового года

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