Skip to main content

Documentation

Алгоритм пересчета моделей в реальном времени в разбивке на основные этапы

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

Section Documentation
Updated 17.02.2024

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

Порядок действий:#

  1. Обход инструментов для пересчета. Процедура из mp_calc_models.php запускается по CRON. Инструменты выбираются по факту появления новых баров. Проход идет в порядке приоритета, начиная со старших таймфреймов, поскольку их данные затем нужны младшим таймфреймам для расчета кластеров Clst_E. Цикл продолжается, пока не закончатся инструменты или не истечет лимит времени TIME_LIMIT.
  2. Вызов основного диспетчера расчета. Для каждого инструмента вызывается функция mp_calcModels из inc_mp_calcModels.php. Она координирует расчет моделей по Алгоритмам I и II.
  3. Расчет по Алгоритму I и Алгоритму II. Сначала из чарта выбирается участок с нахлестом, сейчас это около 1000 баров. Затем выполняется расчет по Алгоритму I для записи новых моделей и обновления существующих. После этого запускается аналогичный проход по Алгоритму II, который уже использует результаты первого алгоритма, в частности для определения IDprevs.
  4. Предзагрузка данных для кластеров. Чтобы ускорить расчет кластеров для конкретного инструмента, заранее подгружаются временные отметки open_time по всем старшим таймфреймам на интересующем участке. Также подгружаются потенциальные «Модели1», чтобы не выполнять повторную загрузку при каждой проверке новой или измененной модели.
  5. Обработка ошибок. Если в процессе возникает ошибка, программа аварийно завершает выполнение, записывает причину и фиксирует трекинг на момент сбоя.
  6. Постобработка пересчитанных моделей. После успешного расчета каждая модель проверяется на новизну или изменение. Затем в inc_calc_conrols.php определяются цели, достижения уровней, а также параметры TRADE и NEXT.
  7. Проверка новых или измененных моделей. Если обнаружена новая модель, достигнут уровень Approach или обновились NEXT-параметры, вызывается функция check_new_model. Внутри нее считаются кластеры по целям, выполняется отбор по фильтрам Broadcast для отправки уведомлений в Telegram, а также формируются clusterParams и сводные кластерные показатели.
  8. Формирование торговых сигналов. После сохранения модели через saveModel_t, если включен флаг торговли, вызывается функция calcSets из inc_calc_sets.php, где формируются сигналы для торгового бота.

Continue Reading

Related Articles