Розробка системи трендових ліній
Трендові лінії — фундаментальний інструмент технічного аналізу: висхідна лінія з'єднує послідовно зростаючі мінімуми, нисхідна — спадаючі максимуми. Автоматичне побудування якісних трендових ліній складніше, ніж здається: потрібно розрізняти «правильні» лінії від артефактів.
Алгоритм побудування
Етап 1: Пошук anchor points
Використовуємо pivot points — локальні екстремуми з мінімальною відстанню між ними (min_strength параметр). Чим більше strength, тим «крупніше» екстремуми.
Етап 2: Лінійна регресія по парах точок
Для кожної пари pivot lows будуємо лінію та перевіряємо, чи не пробиває ціна цю лінію між точками. Лінія валідна, якщо ціна залишається вище/нижче неї на всьому відрізку.
Етап 3: Оцінка якості
Хороша трендова лінія має:
- Мінімум 3 дотики (дві точки будують лінію, третій підтверджує)
- Невелику кількість хибних пробоїв (price closes through)
- Актуальність — останній дотик недавно
Етап 4: Ранжування
Score лінії = кількість дотиків × вага_таймфрейму × (1 / дні_від_останнього_дотику)
Виявлення пробоїв
При пробої трендової лінії (свіча закрилася за межами) система:
- Позначає лінію як «broken»
- Генерує алерт з деталями (інструмент, таймфрейм, напрямок пробою)
- Розраховує potential target (equal move projection)
Хибні пробої фільтруються: якщо ціна повернулася за лінію протягом наступних 1–3 свічок — це хибний пробій (bear/bull trap), а не справжній breakout.
Канали
Паралельна лінія до основної трендової лінії, побудована через протилежні екстремуми, формує канал. Система автоматично будує канали та відстежує ціну всередині них: дотик нижньої границі висхідного каналу = зона покупки, верхньої = зона продажу.
Стек: Python + pandas для розрахунків, PostgreSQL для зберігання ліній з параметрами, React + TradingView Lightweight Charts для відрисування. Лінії оновлюються у реальному часі при кожному закритті свічки, алерти на пробої — через Telegram Bot або webhook.







