← Назад ΠΊ ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ

🎯 Автоматизированная арбитраТная систСма 24/7 для ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ±ΠΈΡ€ΠΆΠΈ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ручная торговля Π°Ρ€Π±ΠΈΡ‚Ρ€Π°ΠΆΠ΅ΠΌ спот-Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ±ΠΈΡ€ΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 24/7 ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° сотСн ΠΏΠ°Ρ€, Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ расчСта спрСдов ΠΈ funding rate, ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ исполнСния ΠΎΡ€Π΄Π΅Ρ€ΠΎΠ² ΠΈ управлСния рисками β€” Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ физичСски Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС возмоТности.

РСшСниС: ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π±ΠΈΡ‚Ρ€Π°ΠΆΠ½Ρ‹ΠΉ Π±ΠΎΡ‚ для Bybit с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ, Telegram-увСдомлСниями ΠΈ SQLite Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… для хранСния истории сдСлок.

πŸ“‹ Π—Π°Π΄Π°Ρ‡Π°

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΡƒΡŽ систСму для Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ funding rate ΠΈ спрСдах ΠΌΠ΅ΠΆΠ΄Ρƒ спот ΠΈ Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ½Ρ‹ΠΌΠΈ Ρ€Ρ‹Π½ΠΊΠ°ΠΌΠΈ Bybit. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сотСн Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ β€” автоматичСская Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ спрСду (β‰₯0.45%) ΠΈ funding rate (β‰₯0.02%)
  • Π’ΠΎΡ‡Π½ΠΎΠ΅ исполнСниС ΠΎΡ€Π΄Π΅Ρ€ΠΎΠ² β€” синхронноС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ° SHORT + спота LONG с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ qtyStep, basePrecision, minOrderQty
  • ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” каТдая открытая позиция отслСТиваСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ daemon-ΠΏΠΎΡ‚ΠΎΠΊΠ΅ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ условий закрытия ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚
  • Π”Π²ΡƒΡ…Ρ€Π΅ΠΆΠΈΠΌΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ (FR < -0.001%) ΠΈ мягкий Ρ€Π΅ΠΆΠΈΠΌ (послС 15+ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² с Π½ΠΈΠ·ΠΊΠΈΠΌ FR)
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рисками β€” blacklist для ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ½Π΅Ρ‚, rate limiting (50 req/sec, 300 weight/sec), критичСскиС увСдомлСния
  • Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ расчСт PnL β€” Ρ‡Π΅Ρ€Π΅Π· Bybit API `/execution/list` для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°Π½Π΄ΠΈΠ½Π³Π°, Π½Π΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

НуТна Π±Ρ‹Π»Π° производствСнная систСма с Repository Pattern, Alembic миграциями, Telegram-ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ автоматичСским восстановлСниСм послС пСрСзапуска.

βš™οΈ Π§Ρ‚ΠΎ сдСлано

πŸ”Ή ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» систСмы:

  • Spot-Futures Arbitrage (Cash & Carry) β€” ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ спот LONG + Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ SHORT для хСдТирования
  • АвтоматичСскоС сканированиС Ρ€Ρ‹Π½ΠΊΠ° β€” ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ всС ΠΏΠ°Ρ€Ρ‹ Bybit, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ ΠΏΠΎ спрСду ΠΈ funding rate
  • ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ° ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ β€” сначала SHORT Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ, Π·Π°Ρ‚Π΅ΠΌ LONG спот (критичСскоС ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ошибкС спота)
  • ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ закрытия β€” каТдая позиция Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ daemon-ΠΏΠΎΡ‚ΠΎΠΊΠ΅ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ FR ΠΈ спрСда ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚
  • Π”Π²ΡƒΡ…Ρ€Π΅ΠΆΠΈΠΌΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ (FR < -0.001%, спрСд ≀0.15%) ΠΈ мягкий (FR ≀0.005% послС 15+ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ FR)
  • SQLite Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… β€” SQLAlchemy ORM для ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, истории сдСлок ΠΈ blacklist с индСксами ΠΈ thread-safety
  • Alembic ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ β€” вСрсионированиС схСмы Π‘Π”, скрипт ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ blacklist.json β†’ DB
  • Repository Pattern + DI β€” PositionRepository, HistoryRepository, BlacklistRepository с Dependency Injection
  • Telegram Bot интСграция β€” ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /start, /status, /positions, /stats + real-time увСдомлСния ΠΎ сдСлках
  • Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ расчСт Ρ„Π°Π½Π΄ΠΈΠ½Π³Π° β€” Ρ‡Π΅Ρ€Π΅Π· API `/execution/list` с Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ 7-Π΄Π½Π΅Π²Π½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌ, Π½Π΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • Rate Limiter (Token Bucket) β€” Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Bybit Π»ΠΈΠΌΠΈΡ‚ΠΎΠ² (50 req/sec, 300 weight/sec)
  • АвтоматичСский blacklist β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ½Π΅Ρ‚ с критичСскими ошибками (delisting, symbol not found, suspended trading)
  • Π’ΠΎΡ‡Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ qty β€” Ρ‡Π΅Ρ€Π΅Π· Decimal с ROUND_DOWN для соотвСтствия qtyStep ΠΈ basePrecision
  • АвтовосстановлСниС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ β€” ΠΏΡ€ΠΈ пСрСзапускС Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈΠ· Π‘Π” ΠΈ возобновляСт ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³

πŸ”Ή Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:

Python 3.9+ SQLAlchemy 2.0 Alembic python-telegram-bot 20.7 Bybit API v5 Threading ThreadPoolExecutor SQLite (WAL mode) Token Bucket Algorithm Repository Pattern Dependency Injection

πŸ”„ Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

  1. Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 3 ΠΌΠΈΠ½) β€” Orchestrator ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС ΠΏΠ°Ρ€Ρ‹ Bybit, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ blacklist, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ спрСды Ρ‡Π΅Ρ€Π΅Π· orderbook bid/ask
  2. ΠžΡ‚Π±ΠΎΡ€ возмоТностСй β€” SpreadAnalyzer + ArbitrageCalculator находят Ρ‚ΠΎΠΏ-N ΠΏΠ°Ρ€ с spread β‰₯0.45% ΠΈ FR β‰₯0.02%
  3. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ β€” OpportunityMonitor: установка ΠΏΠ»Π΅Ρ‡Π° (1x) β†’ SHORT Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ β†’ LONG спот β†’ сохранСниС Π² Π‘Π” β†’ Telegram ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅
  4. Daemon ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” каТдая позиция запускаСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ провСряСт условия закрытия
  5. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ FR β€” счСтчик `low_fr_count` увСличиваСтся ΠΏΡ€ΠΈ FR ≀0.01%, послС 15+ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² активируСтся мягкий Ρ€Π΅ΠΆΠΈΠΌ
  6. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ β€” ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условий: ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ° спота (ΠΏΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ балансу) β†’ ΠΏΠΎΠΊΡƒΠΏΠΊΠ° Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ° (reduceOnly) β†’ расчСт PnL + Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°Π½Π΄ΠΈΠ½Π³
  7. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ + статистика β€” HistoryRepository сохраняСт Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, считаСт win rate, avg PnL, total PnL Ρ‡Π΅Ρ€Π΅Π· SQL запросы

🧠 Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности

Π£ΠΌΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рисками ΠΈ исполнСниСм:

  1. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ° β€” сначала SHORT Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ (ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π΅Π΅), Π·Π°Ρ‚Π΅ΠΌ LONG спот; ΠΏΡ€ΠΈ ошибкС спота β†’ критичСскоС ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с qty для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ закрытия
  2. Π”Π²ΡƒΡ…Ρ€Π΅ΠΆΠΈΠΌΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ (FR < -0.001%) ΠΈ мягкий (FR ≀0.005% послС 15 Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ FR) для максимизации ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ
  3. Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°Π½Π΄ΠΈΠ½Π³ Ρ‡Π΅Ρ€Π΅Π· API β€” запрос `/execution/list` с execType:"Funding", Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ° ΠΏΠΎ 7-Π΄Π½Π΅Π²Π½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌ для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ PnL
  4. АвтоматичСский blacklist β€” критичСскиС ΠΊΠΎΠ΄Ρ‹ ошибок (30228, 10001, 110043) Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΌΠΎΠ½Π΅Ρ‚Ρƒ Π² blacklist с ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈ timestamp
  5. Вочная ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° β€” Decimal с ROUND_DOWN для qty, ΡƒΡ‡Π΅Ρ‚ qtyStep/basePrecision/minOrderQty ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ инструмСнта
  6. Thread-safe ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” RLock для PositionManager, singleton для BlacklistManager с ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² памяти + синхронизация с Π‘Π”

πŸ“Š Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

24/7
автономная Ρ€Π°Π±ΠΎΡ‚Π° с автовосстановлСниСм
83.3%
win rate (10 ΠΈΠ· 12 ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒΠ½Ρ‹Ρ… сдСлок)
+45.80
USDT суммарная ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ Π½Π° истории
300ms
ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий закрытия для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ
3 слоя
Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹: Repository β†’ Manager β†’ Orchestrator
7 ΠΊΠΎΠΌΠ°Π½Π΄
Telegram Π±ΠΎΡ‚Π° для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ статистики

πŸ’‘ ВСхничСская изюминка

🎯 Repository Pattern + Dependency Injection:
ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ тСстируСмая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ слоСв: PositionRepository, HistoryRepository, BlacklistRepository ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· конструктор. SQLAlchemy session ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² рСпозиториях, Orchestrator Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ. Alembic автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ: alembic revision --autogenerate -m "add_column".

βš™οΈ АрхитСктурныС особСнности

  • ВрСхслойная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° β€” Repository (доступ ΠΊ Π‘Π”) β†’ Manager (бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°) β†’ Orchestrator (координация)
  • Alembic ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ β€” вСрсионированиС схСмы, автогСнСрация ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° downgrade для ΠΎΡ‚ΠΊΠ°Ρ‚Π°
  • Thread-safe Π‘Π” ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” SQLAlchemy session factory, RLock для критичСских сСкций, WAL mode для SQLite
  • Telegram Π² daemon thread β€” asyncio.new_event_loop() для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² non-main thread, graceful shutdown ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ
  • Token Bucket Rate Limiter β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ bucket для requests/sec ΠΈ weight/sec с atomic опСрациями
  • Singleton BlacklistManager β€” in-memory кСш (Set[str]) + синхронизация с Π‘Π”, thread-safe ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ β€” Ссли Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Π½ΠΎ спот Π½Π΅ открылся β†’ Telegram с qty для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ закрытия

πŸ”§ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности

πŸ”Ή Telegram Bot Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»:

  • /start β€” привСтствиС + список всСх ΠΊΠΎΠΌΠ°Π½Π΄
  • /status β€” врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹, количСство ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, Ρ€Π°Π·ΠΌΠ΅Ρ€ blacklist, доступныС слоты
  • /positions β€” список ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ с Ρ†Π΅Π½Π°ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π°, qty, спрСдом ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ удСрТания
  • /stats β€” статистика: сдСлки, win rate, total PnL, avg PnL, Π»ΡƒΡ‡ΡˆΠ°Ρ/Ρ…ΡƒΠ΄ΡˆΠ°Ρ сдСлка
  • Real-time увСдомлСния β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (crypto, Ρ†Π΅Π½Ρ‹, qty, spread, FR)
  • УвСдомлСния ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ β€” врСмя удСрТания, spot/futures/funding PnL, комиссии, net PnL
  • ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ увСдомлСния β€” 🚨 Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, спот Π½Π΅ открылся (с qty для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ закрытия)
  • Blacklist увСдомлСния β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ с ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ ошибки

πŸ”Ή Database Features:

  • SQLAlchemy ORM β€” ΠΌΠΎΠ΄Π΅Π»ΠΈ Position, ClosedPosition, Blacklist с индСксами ΠΈ relationships
  • Alembic ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ β€” автогСнСрация Ρ‡Π΅Ρ€Π΅Π· `--autogenerate`, вСрсионированиС, upgrade/downgrade
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ β€” `migrate_blacklist_to_db.py` для пСрСноса JSON β†’ SQLite
  • Бтатистика Ρ‡Π΅Ρ€Π΅Π· SQL β€” агрСгация win rate, avg PnL, total PnL Ρ‡Π΅Ρ€Π΅Π· SQLAlchemy queries
  • WAL mode β€” Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ concurrent access ΠΊ SQLite

πŸ“ˆ Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования

  1. ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π½Ρ‹ΠΉ Π°Ρ€Π±ΠΈΡ‚Ρ€Π°ΠΆ β€” Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ funding rate ΠΌΠ΅ΠΆΠ΄Ρƒ спот ΠΈ Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ½Ρ‹ΠΌΠΈ Ρ€Ρ‹Π½ΠΊΠ°ΠΌΠΈ
  2. Π₯Π΅Π΄ΠΆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ портфСля β€” Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΊ Ρ€Ρ‹Π½ΠΊΡƒ стратСгия (спот LONG + Ρ„ΡŒΡŽΡ‡Π΅Ρ€Ρ SHORT)
  3. Автоматизация Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ β€” 24/7 ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Π΅Π· участия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° с увСдомлСниями Π² Telegram
  4. ВСстированиС стратСгий β€” сбор истории сдСлок Π² Π‘Π” для Π°Π½Π°Π»ΠΈΠ·Π° эффСктивности
  5. ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ‚Ρ€Π΅ΠΉΠ΄ΠΈΠ½Π³Ρƒ β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€ production-ready систСмы с Repository Pattern ΠΈ DI

βœ… Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π²Π°ΠΌ, Ссли:

  • НуТна автоматизированная торговая систСма для Bybit (ΠΈΠ»ΠΈ адаптация ΠΏΠΎΠ΄ Binance/OKX)
  • ВрСбуСтся ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ мноТСствСнных ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ исполнСниСм
  • Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ с Repository Pattern, DI, миграциями
  • НуТСн Telegram-интСрфСйс для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ real-time ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
  • Π˜Ρ‰Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ систСму управлСния рисками (blacklist, rate limiting, критичСскиС увСдомлСния)
  • ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° PostgreSQL ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ web dashboard

НуТСн Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹ΠΉ Π±ΠΎΡ‚ для ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ±ΠΈΡ€ΠΆΠΈ?

Π Π°Π·Π²Π΅Ρ€Π½Ρƒ Π°Ρ€Π±ΠΈΡ‚Ρ€Π°ΠΆΠ½ΡƒΡŽ систСму с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ, Telegram-ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ production-ready Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Π½Π° вашСм VPS

ΠžΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β†’