Розробка алгоритму grid trading з динамічними рівнями

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка алгоритму grid trading з динамічними рівнями
Середній
~1-2 тижні
Часті запитання

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

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

Останні роботи

  • 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

Розробка алгоритму grid trading з динамічними рівнями

Grid trading — стратегія виставлення сітки ордерів вище та нижче поточної ціни. При русі ціни вниз — купуємо, при русі вверх — продаємо. Прибуток накопичується на кожному «кроці» сітки. Динамічна сітка відрізняється від статичної тим, що адаптується до зміни волатильності та тренду.

Базова механіка grid trading

Статична сітка (для розуміння): встановлюємо діапазон $40,000–$50,000, 10 рівнів. Крок: $1,000. Виставляємо:

  • Buy ордери: 40k, 41k, 42k, 43k, 44k
  • Sell ордери: 46k, 47k, 48k, 49k, 50k
  • Поточна ціна: ~$45k (middle)

При падінні до $44k → виконується buy ордер → автоматично виставляємо sell $45k. При зростанні до $45k → виконується sell → прибуток $1,000 за крок.

Profit per grid = крок / ціна. 1% крок → ~1% прибуток на кожному повному циклі (без урахування комісій).

Динамічна сітка: адаптація до волатильності

Статична сітка працює в діапазоні. Якщо ціна вийде за межі — сітка «замерзає» та не торгує. Динамічна сітка вирішує це:

ATR-based grid spacing: крок між рівнями = кратне ATR. При високій волатильності кроки ширші (менше помилкових сигналів, вищий прибуток за крок). При низькій — вже (більше угод).

def calculate_grid_levels(current_price, atr, n_levels=10, atr_multiplier=0.5):
    step = atr * atr_multiplier
    levels = []
    for i in range(-n_levels//2, n_levels//2 + 1):
        level_price = current_price + i * step
        levels.append(level_price)
    return sorted(levels)

Recentering: якщо ціна вийшла за межі сітки на N кроків — перерахуємо сітку навколо поточної ціни. Скасовуємо невиконані ордери, виставляємо нові.

Trend-aware grid: у висхідному тренді (позитивна EMA) сітка зміщується вверх. Більше sell рівнів вище, менше buy рівнів нижче. У низхідному — навпаки.

Управління капіталом у сітці

Рівномірний розподіл: одинаковий капітал на кожен рівень.

Pyramid allocation: більше капіталу на рівнях ближче до поточної ціни (більш імовірне виконання), менше на крайні рівні.

Максимальний inventory: обмеження на максимально накоплений актив. Якщо сітка продовжує купувати при падінні — ризикуємо перевантажити позицію.

def check_inventory_limit(current_qty, max_qty_pct, capital, price):
    max_qty = (capital * max_qty_pct) / price
    if current_qty >= max_qty:
        # Зупиняємо buy ордери, тільки sell
        return False
    return True

Прибуток та метрики

Grid profit: сумарний прибуток від виконаних пар buy/sell ордерів. Unrealized P&L: якщо накопичено inventory при падінні ціни. Total P&L: grid profit + unrealized P&L. Grid occupancy: відсоток рівнів, які торгувались.

Коли grid trading працює

Ідеальні умови: боковий ринок з регулярними коливаннями. BTC у діапазоні $40k–$50k протягом кількох місяців — відмінна ситуація для grid.

Погані умови: сильний тренд. При спрямованому русі вниз накопичуємо збиткову позицію без продажів.

Захист від тренду: Stop-loss на весь grid при падінні нижче нижньої межи на X%. Або використання тільки spot (без плеча) — тоді збиток тільки unrealized, без margin call.

Стек: Python (asyncio + CCXT), PostgreSQL для зберігання рівнів та ордерів, простий web UI для налаштування та моніторингу сітки, Telegram alerty при recentering та stop-loss.