Закинул $100 в свой арбитражный сканер на Python, поймал баги и ухожу в жесткий рефакторинг: почему я переношу проект на C#

Закинул $100 в свой арбитражный сканер на Python, поймал баги и ухожу в жесткий рефакторинг: почему я переношу проект на C#

Привет, VC! Пару дней назад я запустил эксперимент — залил по $50 на две биржи (MEXC и Bybit), чтобы поторговать руками по сигналам своего межбиржевого сканера Midnex.

Цель была простая: проверить теорию практикой. Практика оказалась жестокой, но безумно полезной. За эти четыре дня я не стал миллионером, зато выгреб целую пачку технических проблем и ограничений.

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

С какими граблями я столкнулся (Логи и реальность)

Midnex отлично находит спреды — софт выцеплял и 5.7% по GWEI, и даже кратковременные 17% по QNT. Математика работает, дыры в стаканах есть. Но вот в процессе ручного исполнения ордеров вылезли критические нюансы:

  1. Микро-лаги и пинг. В арбитраже фьючерсов решают миллисекунды. Асинхронный Python (Asyncio + WebSockets) хорош для парсинга, но когда начинается одновременный просчет плотности стаканов по десяткам пар, скорость обработки данных упирается в потолок производительности языка.
  2. Ошибки расчёта комиссий в динамике. Пару раз бот сигналил о «чистом» спреде, но из-за резкого изменения фандинга в момент импульса реальная выгода таяла. Нужен более сложный, многопоточный модуль прогнозирования затрат на сделку.

Главное решение: Большой переезд на C# 🚀

Я понял, что если делать из Midnex профессиональный HFT-инструмент (высокочастотный трейдинг), Python нужно оставлять только для прототипов.

Я принял решение полностью переписать ядро сканера и терминала на C# (.NET).

  • Во-первых, это даст честную многопоточность и жесткий контроль над памятью, что снизит задержки (latency) обработки стаканов до минимума.
  • Во-вторых, на C# гораздо проще и быстрее собрать стабильный, кастомный десктопный терминал с кучей графиков, кнопок быстрого входа и калькулятором спреда.

Зачем я это пишу и как за этим следить?

Я не забросил проект, я вывожу его на новый уровень. Сейчас в моем Telegram-канале всего 8 человек — это те, кто успел зайти на самом старте и видел мои первые тесты с депозитом.

Теперь канал превращается в публичный дневник разработки (DevLog).

Если вы разработчик, интересуетесь алготрейдингом, C# или просто хотите посмотреть, как создается сложный софт с нуля без цензуры и успешного успеха — заходите. Мне очень нужны ваши мнения, советы по архитектуре .NET и здоровая критика в комментариях.

👉 Следить за разработкой терминала: t.me/midnexio

2