Разработка системы уровней поддержки/сопротивления

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Разработка системы уровней поддержки/сопротивления
Средний
~5 дней
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Разработка системы уровней поддержки/сопротивления

Автоматическое определение уровней поддержки и сопротивления — задача, которую каждый опытный трейдер решает интуитивно, но алгоритмизация требует чёткой методологии. Система должна находить «значимые» уровни: те, к которым цена возвращается многократно.

Методы определения уровней

1. Cluster анализ pivot points

Самый распространённый подход. Алгоритм:

  1. Найти все pivot highs и pivot lows за период (rolling window)
  2. Сгруппировать близкие уровни в кластеры (tolerance ±0.5% от цены)
  3. Оценить «силу» каждого уровня: количество касаний, объём на уровне, свежесть
from scipy.cluster.hierarchy import linkage, fcluster

def cluster_levels(price_points, tolerance=0.005):
    prices = np.array([p[1] for p in price_points]).reshape(-1, 1)
    Z = linkage(prices, method='single')
    labels = fcluster(Z, t=tolerance * np.mean(prices), criterion='distance')
    clusters = {}
    for i, label in enumerate(labels):
        clusters.setdefault(label, []).append(price_points[i])
    return {k: np.mean([p[1] for p in v]) for k, v in clusters.items()}

2. Volume Profile / POC

Уровни с максимальным торговым объёмом — наиболее значимые зоны. Point of Control (POC) — ценовой уровень с наибольшим объёмом за период. Этот подход описан подробнее в Volume Profile системе.

3. Round numbers и psychological levels

Круглые числа (50000, 100000 для BTC; 3000, 4000 для ETH) действуют как уровни чисто психологически. Алгоритм дополнительно добавляет такие уровни с базовым весом.

4. Fractal уровни

Bill Williams fractal: pivot high с двумя меньшими highs с каждой стороны. Более строгое определение значимого локального максимума, чем простой rolling max.

Оценка силы уровня

Каждый уровень получает score по нескольким метрикам:

Метрика Описание Вес
Touch count Сколько раз цена тестировала уровень Высокий
Volume at level Объём торгов вблизи уровня Высокий
Recency Насколько недавно уровень был актуален Средний
Bounce strength Насколько сильно цена отталкивалась Средний
Timeframe confluence Уровень виден на нескольких таймфреймах Высокий

Уровень, видимый на дневном и 4h таймфрейме одновременно, получает значительно более высокий score.

Динамические уровни

Статические уровни дополняются динамическими:

  • Moving Averages (EMA 20, 50, 200) — динамические S/R
  • Bollinger Bands — верхняя/нижняя полоса как динамическое S/R
  • VWAP и anchored VWAP — динамические уровни на основе объёма

Визуализация и обновление

Уровни отрисовываются как горизонтальные линии или зоны (прямоугольники) на ценовом графике. Толщина/насыщенность цвета пропорциональна силе уровня.

Зоны вместо линий — уровень представляется не как точная цена, а как диапазон (±ATR/4 от центральной цены). Это реалистичнее: рынок «тестирует» зону, а не точку.

Автоматическое обновление — при пробое уровня (цена закрылась за пределами зоны) он помечается как «broken» и меняет статус (support → resistance или наоборот — смена полярности). Новые уровни добавляются в реальном времени по мере накопления pivot points.

Стек: Python для расчётов (pandas, scipy, numpy), PostgreSQL для хранения уровней, WebSocket API для realtime обновлений фронтенда, React + TradingView Lightweight Charts для визуализации. Система сканирует заданный список инструментов и обновляет уровни при каждом закрытии свечи.