Обсуждение статьи "Интерактивное управление зонами спроса и предложения на MQL5 (Часть II): Событийно-ориентированная архитектура и журналирование жизненного цикла с долговременным хранением"

Опубликована статья Интерактивное управление зонами спроса и предложения на MQL5 (Часть II): Событийно-ориентированная архитектура и журналирование жизненного цикла с долговременным хранением:

В этой статье мы совершенствуем систему управления зонами спроса и предложения с отслеживаемым состоянием для MetaTrader 5, заменяя опрос событийно-ориентированной моделью на основе OnChartEvent(). Мы распределяем задачи синхронизации между отдельными обработчиками создания, изменения и удаления, а также отделяем рыночную логику в OnTick() от обработки действий пользователя в OnChartEvent(). Компонент журналирования в формате CSV с долговременным хранением и режимом только с добавлением записей фиксирует все события жизненного цикла, улучшая скорость отклика, согласованность состояний и возможность восстановления истории для последующего анализа.

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

Основной целью первоначальной реализации было введение концепции зоны с отслеживаемым состоянием. Каждая зона теперь рассматривалась не как простой графический объект, а как структурированная сущность с такими атрибутами, как классификация, статус, происхождение, сила и история взаимодействий. В рамках этой модели уровень поддержки мог переходить из состояния только что созданного уровня в состояние пробоя, а структура, ранее признанная недействительной, могла сохраняться в неактивном виде вместо немедленного удаления. При определенных условиях такая зона впоследствии могла быть повторно активирована и вновь получить активный статус. Это заложило основу для управления уровнями поддержки и сопротивления с учетом жизненного цикла.

Однако одно принципиальное ограничение сохранилось. Хотя система могла реагировать на события во время выполнения, она не обеспечивала долговременного хранения записей об этих переходах состояния. Изменения, вносимые вручную, такие как изменение размера зоны, сохранялись только в энергозависимой памяти. Аналогичным образом, структурные переходы, такие как пробои или признание зон недействительными, корректно обрабатывались в реальном времени, однако записи об этих событиях не сохранялись для долговременного хранения. В результате после завершения сеанса терминала или обновления графика вся история работы системы терялась. Система сохраняла только последнее состояние каждой зоны, без каких-либо сведений о том, как было достигнуто это состояние.


Автор: Francis Nyoike Thumbi