Описание технологии расчёта параметров NEXT
Общая суть#
NEXT-параметры — это специальные расчётные параметры, которые моделируют значения контрольных и преконтрольных характеристик модели в предположении, что на следующем баре будет достигнут уровень подхода (Approach Level). Они используются для прогнозирования и передачи информации торговым советникам и нейросетям, чтобы заранее оценить возможное развитие рыночной ситуации.
Где реализовано#
Основная логика расчёта NEXT-параметров реализована в файле inc_calc_controls.php (см. комментарии вида «Блок определения NEXT-параметров» и «расчёт NEXT-параметров»). Дополнительно она поддерживается в функциях обработки моделей из inc_mp_calcModels.php и связанных helper-функциях, например mp_calcModels и isNEXTcalculated.
Алгоритм расчёта (по шагам)#
Условия для расчёта#
- NEXT-параметры рассчитываются, если уровень подхода еще не был достигнут, то есть
ApprReachedAtне установлен. - Также должен быть установлен флаг необходимости NEXT-параметров:
$isNextParamsNeeded. - В онлайн-режиме расчёт выполняется и в ситуации, когда дошли до последнего бара и нужен прогноз на следующий бар.
Расчёт ключевых NEXT-параметров#
- Формируется группа параметров, аналогичных обычным преконтрольным, но с префиксом
NEXT. - Примеры таких параметров:
NEXT_llappr@— относительное время до достижения уровня подхода на NEXT-баре.NEXT_lvlappr@— относительное расстояние по цене до уровня подхода.NEXT_llappr@halfbaиNEXT_lvlappr@halfba— параметры, связанные с достижением уровня в середине отрезка между ключевыми точками, например между подтверждениемt4иP6.NEXT_ll4appr@,NEXT_lvlappr@halfи другие производные параметры.
Расчёт по формулам#
Временные параметры рассчитываются как отношение расстояния между текущим баром и баром, на котором должен быть достигнут уровень, к размеру модели по времени sizeTime.
Ценовые параметры рассчитываются как отношение разницы между контрольным уровнем CP_level и ценой на нужном баре к размеру модели по цене sizeLevel.
$controlParams['NEXT']['_llappr@'] = round(
($CNT - $baseBarNum - $lvl_preapp_bar) / $sizeTime,
$precision
);
$controlParams['NEXT']['_lvlappr@'] = round(
($CP_level - $low_) / $sizeLevel,
$precision
);
Для части параметров дополнительно учитываются экстремумы, подтверждения уровней и расстояния между ключевыми точками, например t2, t4 и P6.
Передача параметров#
- NEXT-параметры сохраняются в структуре модели с префиксом
NEXT_и затем используются для передачи в нейросети и торговые системы. - Если NEXT-параметры доступны, приоритет отдается именно им, поскольку они отражают прогноз на следующий бар.
См. также: mp_bot_interface.php и inc_mpCheckModel.php.
Особенности#
- NEXT-параметры позволяют заранее оценить, что произойдёт, если на следующем баре будет достигнут ключевой уровень — даже если этого ещё не произошло.
- Это важно для онлайн-торговли, прогнозирования, а также для обучения и тестирования нейросетей.
Пример кода (упрощённо)#
if (!isset($controlParams['ApprReachedAt']) && $isNextParamsNeeded) {
$controlParams['NEXT']['_llappr@'] = round(
($CNT - $baseBarNum - $lvl_preapp_bar) / $sizeTime,
$precision
);
$controlParams['NEXT']['_lvlappr@'] = round(
($CP_level - $low_) / $sizeLevel,
$precision
);
// ... другие NEXT-параметры
}
Документация и комментарии#
- В коде есть подробные комментарии по каждому этапу расчёта NEXT-параметров.
- При сопровождении логики важно проверять не только сами формулы, но и условия, при которых NEXT-ветка вообще должна включаться.
Кратко#
Технология расчёта NEXT-параметров — это прогнозирование значений ключевых контрольных параметров модели на случай, если на следующем баре будет достигнут уровень подхода. Такой механизм позволяет заранее оценивать потенциальные сигналы и использовать их в автоматической торговле, в анализе и при подготовке входных данных для нейросетей.