Как мы находим уровни
22.05.2026 · Последнее обновление
Шаги алгоритма
- 1. Свечи. Берём 500 свечей выбранного таймфрейма через прокси с биржи.
- 2. Пивоты. Находим локальные максимумы и минимумы (фрактальные пивоты с lookback = 3 свечи с каждой стороны).
- 3. Кластеризация. Группируем пивоты, цены которых отличаются меньше чем на 0.5%.
- 4. Классификация.
- Кластер из пивотов И low'ов И high'ов → S/R Flip
- Кластер из 2+ только high'ов → Сопротивление
- Кластер из 2+ только low'ов → Поддержка
- 5. Скоринг. Чем больше touches и чем сбалансированнее кластер (для Flip), тем выше Strength.
- 6. Топ-6. Сортируем по Strength, оставляем 6 самых сильных уровней.
Параметры по умолчанию
- Tolerance кластеризации: 0.5%
- Lookback: 3 свечи каждая сторона
- Min touches для PRIOR_HIGH / PRIOR_LOW: 2
- Глубина истории: 500 свечей
Фильтры релевантности
Чтобы график не превращался в кашу из 50 линий — каждый кандидат проходит через три фильтра, и только выжившие попадают на чарт:
- Recency weighting — недавние пивоты весят больше старых. Формула: (i/N)^1.5. Это значит, что свежие пики и впадины задают силу уровня, а старые добавляют контекст.
- Distance ≤ 25% от текущей цены. Уровень в 70% ниже current price торгово неактуален — выкидываем.
- Stale cut — если последнее касание уровня в самых старых 40% графика, тоже скрываем. Уровень отыграл давно.
- Dedup — если два уровня в пределах 1% друг от друга, оставляем сильнейший (визуально они всё равно сливались бы в одну полосу).
Эти параметры — наши стартовые. По мере накопления данных бэктеста будем подбирать оптимальные значения для разных таймфреймов и разных классов монет.