Найти в Дзене
Crypto Altruist

Один в поле воин. Как я сам собрал шорт-бота за месяц, пока другие искали подрядчиков

В прошлом посте я рассказал, как пришел к философии шортов. Сегодня будет техническая исповедь. Без прикрас. Знаете, что мне говорили знакомые, когда я заикнулся про создание бота?
«Найми кодерá, заплати, не парься».
«Зачем тебе это? Купи готовый сигнальщик и переклей лейбу». Но я пошел другим путем. Потому что, во-первых, я кодер. А во-вторых, я слишком щепетильно отношусь к деньгам, чтобы доверять их "серым" коробкам. Все, что вы видите — сделано этими руками. С нуля. С первой строчки кода до последнего коммита. Неделя 1. Ад подключений.
Я думал, что подключиться к биржам по API — это дело пары часов. Наивный. Документация, которую пишут для роботов, а не для людей. Лимиты запросов. Ошибки аутентификации. Данные, которые приходили с опозданием в секунду (а в крипте секунда решает всё). Я матерился так, что соседи стучали по батареям. Неделя 2. Сбор данных и первая боль.
Чтобы бот понимал, где "перегрев", а где "дно", нужно было скормить ему историю. Терабайты свечных данных. Я загруж

В прошлом посте я рассказал, как пришел к философии шортов. Сегодня будет техническая исповедь. Без прикрас.

Знаете, что мне говорили знакомые, когда я заикнулся про создание бота?
«Найми кодерá, заплати, не парься».
«Зачем тебе это? Купи готовый сигнальщик и переклей лейбу».

Но я пошел другим путем. Потому что, во-первых, я кодер. А во-вторых, я слишком щепетильно отношусь к деньгам, чтобы доверять их "серым" коробкам.

Все, что вы видите — сделано этими руками.

С нуля. С первой строчки кода до последнего коммита.

Неделя 1. Ад подключений.
Я думал, что подключиться к биржам по API — это дело пары часов. Наивный. Документация, которую пишут для роботов, а не для людей. Лимиты запросов. Ошибки аутентификации. Данные, которые приходили с опозданием в секунду (а в крипте секунда решает всё). Я матерился так, что соседи стучали по батареям.

Неделя 2. Сбор данных и первая боль.
Чтобы бот понимал, где "перегрев", а где "дно", нужно было скормить ему историю. Терабайты свечных данных. Я загружал графики за 2 года, проставлял метки, вручную проверял каждую аномалию. Были моменты, когда хотелось разбить монитор. Бот писал какую-то дичь, выдавал сигналы на ровном месте, и я не понимал — это баг или я просто плохо объяснил машине логику рынка?

Неделя 3. Первый проблеск.
И вот, глубокой ночью, после очередного ребута сервера, я вывел в консоль первые превью сигналов. Это было некрасиво. Просто строки в терминале. Никакого интерфейса, никаких стрелочек.

Это просто скрин рабочего момента... первого возгласа бота к сожалению не осталось, пришлось сменить порядка 10 версий ботов
Это просто скрин рабочего момента... первого возгласа бота к сожалению не осталось, пришлось сменить порядка 10 версий ботов

Посмотрите на этот скрин. Для обычного пользователя это просто цифры/буквы. Для меня — это первый крик моего "ребенка". Я помню эту секунду: бот выдал сигнал по монете, которую я сам отслеживал. Через 20 минут она упала на 12%. Я сидел и просто смотрел на экран. В этот момент я понял — оно работает. Сыро, коряво, но работает.

Неделя 4. Шлифовка и бессонница.
Я переписывал модули по 10 раз. Ускорял парсинг данных. Добавлял фильтры от шума. Интерфейс, который вы видите сейчас — это 4-я итерация. Первые три были настолько страшными, что я боюсь их кому-то показывать.

Предпоследняя версия
Предпоследняя версия

Итог:
Сегодня у меня есть инструмент, который я не просто "купил". Я его выносил в своей голове, выстрадал кодом и проверил своими деньгами.

Я не нанимал команду. Я не покупал готовое решение. Я просто сел и сделал. Потому что быть "соло" — значит отвечать за результат головой.

В этом канале я буду показывать, на что способен этот монстр. Кто хочет посмотреть на работу шорт-бота в реальном времени и, возможно, забрать его себе — велкам.

Итоговая версия на сегодня, которая будет подвержена дальнейшей доработки, но это не точно
Итоговая версия на сегодня, которая будет подвержена дальнейшей доработки, но это не точно