Слогер Создать блог
Крипто

Как я написал своего первого крипто-бота и перестал сидеть у графиков по ночам

История о том, как простая автоматизация на Python освободила время и нервы — и что нужно знать, чтобы не наступить на те же грабли.

С чего всё началось

Честно говоря, меня достало пялиться в графики в два часа ночи, решая, покупать или продавать, пока кофе стынет. Ручная торговля — это лотерея: то плюс, то минус, и постоянно чувствуешь, что играешь против шулеров. Переломный момент случился, когда я упустил движение биткоина на 12%, потому что отвлёкся на дебаг другого скрипта. Тогда я подумал: «Вот бы автоматизировать это — как чит-код».

Так я решил сделать своего первого крипто-бота. Не супер-алгоритм хедж-фонда, а простой прозрачный скрипт, который следит за рынком, исполняет базовую стратегию и даёт мне высыпаться.

Главное открытие

Оказалось, для старта не нужна степень по квантовым финансам. Достаточно пары идей: цены, простой индикатор и API для ордеров. Вся магия в цикле: получить данные → посчитать сигнал → разместить ордер → подождать → повторить.

Я выбрал библиотеку ccxt — она унифицирует API десятков бирж. Один и тот же код работает на Binance, Kraken или Coinbase, меняется только строка подключения.

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

Как Нео уклоняется от пуль, так и боту нужно уклоняться от rate limit'ов.

Если их игнорировать, биржа вернёт HTTP 429, и бот встанет колом — совсем не героический момент.

Как я это сделал (и что пошло не так)

В первой версии я просто написал цикл, который дёргал биржу каждую минуту и торговал по пересечению. Выглядело красиво, но на практике:

  • Я не обрабатывал rate limit — через пару сотен запросов Binance начинала сыпать ошибками, и скрипт падал.
  • Не было обработки сетевых ошибок — любой сбой сети ронял бота.
  • Размер ордера был жёстко зашит — 0.001 BTC, что на тестнете ок, но на реальном счёте могло быть небезопасно.

Во второй версии я добавил правильную обработку ошибок, уважение к лимитам и логирование. Вместо time.sleep(60) — проверка exchange.rateLimit и повтор при неудаче. Ордер теперь выставляется с проверкой баланса.

Вот пример ключевого улучшения — функция безопасного получения данных с повторными попытками:

def safe_fetch_ohlcv():
try:
return exchange.fetch_ohlcv(symbol, '1h', limit=long_window)
except (ccxt.NetworkError, ccxt.ExchangeError) as e:
log.warning(f'Transient error: {e}')
return None

Такая защита позволяет боту пережить кратковременные проблемы и продолжать работу.

Советы новичкам

  • Начинайте на тестнете. Рынок не прощает ошибок новичка.
  • Всегда уважайте rate limit. Биржа — не ваш личный сервер.
  • Логируйте всё. Иначе вы не узнаете, почему бот не сработал.
  • Начинайте с малого объёма. 0.001 BTC для первого раза — нормально.

Автоматизация торговли — это не магия, а просто дисциплина. Сделайте один шаг сегодня, и завтра у вас будет время на жизнь, а не на графики.

По материалам: finance. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (0)

Войдите, чтобы комментировать.

Пока нет комментариев. Будьте первым.

Маркетинг

Как запустить продукт на маленькой базе подписчиков: 5 писем, которые продают без фальшивого дефицита

Одно письмо-анонс почти никогда ничего не продаёт — даже на списке из 40 человек. Разбираем пятидневный ритм рассылки, где каждое письмо решает свою задачу, и даём готовый шаблон последнего письма.

Слогер 28.10.2026 ▲ 1
Разработка

Как выгрузить вакансии и зарплатные вилки из Greenhouse API: разбор подводных камней

Любая доска Greenhouse отдаётся публичным JSON без ключа — целиком, одним ответом. Но чтобы данные были пригодны, нужно знать пять вещей про флаги, экранирование и двойной счёт вакансий.

Слогер 28.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Маркетинг

Переезд (миграция) с Битрикс24 и amoCRM без потери данных: в Fluxs появился модуль миграции

4 000 контактов в Битрикс24. Сотни сделок. Задачи за несколько лет. И всё это нужно перенести в новую CRM? Раньше такой переезд мог занять несколько дней. А иногда именно из-за переноса данных компании годами оставались в неудобной системе. Мы решили эту проблему. 🚀 В Fluxs появился модуль «Миграция данных». Теперь можно переносить контакты, сделки, задачи, проекты и базу знаний из Битрикс24, amoCRM, Jira, Яндекс Трекера и Confluence. А если вашей системы нет в списке — загрузить данные через Excel, CSV или JSON.

fluxs.ru 27.10.2026 ▲ 1
Карьера

Чем Cal-WARN отличается от федерального WARN: разбор порогов, уведомлений и штрафов

Калифорния требует предупреждать о массовых сокращениях за 60 дней — как и федеральный закон США. Только порог ниже, парт-тайм считается, а правило одной трети не действует. Разбираем, что это меняет для работника и работодателя.

Слогер 27.10.2026 ▲ 0
Карьера

WARN Act: кто считается работодателем при массовом сокращении — разбор для дочек, холдингов и франшиз

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

Слогер 27.10.2026 ▲ 0
Разработка

Разбор: почему профессию разработчика хоронят каждые 20 лет и как работать, когда всё меняется

Паника вокруг ИИ — не первая волна перемен в отрасли: похожие прогнозы звучали и в 1961 году, и в 2011-м. Разбираем, что в нынешней тревоге реально, а что стоит воспринимать как фоновый шум.

Слогер 27.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Страх провала и страх свидетелей: чем они отличаются и как начинать новое, когда страшно

«Я пока недостаточно хорош» — честная и бесполезная фраза. Обычно дело не в навыке, а в конкретных людях, которые увидят вашу первую попытку. Разбираем, как уменьшить ставку и всё-таки начать.

Слогер 26.10.2026 ▲ 0
Карьера

Почему удалёнка платит меньше — и в каких профессиях всё наоборот: разбор 8 049 вакансий

Медианная вилка на удалёнке ниже офисной на 6,5%. Но внутри функций разрыв меняет знак: безопасность и продажи получают премию за удалёнку, data/ML — самую большую скидку. Показываю, как читать эти цифры на переговорах.

Слогер 26.10.2026 ▲ 0
Личный опыт

Как заказать командную вышивку без минимальной партии: разбор и чек-лист

Малая команда редко может позволить себе стартовый тираж на 30 вещей. Разбираем схему, при которой вышивка делается по одной штуке — и при этом логотип у всех выглядит одинаково.

Слогер 26.10.2026 ▲ 0
Маркетинг

Автоматизация бизнеса за 15 000 или 170 000 рублей в год: в чём разница?

Автоматизация бизнеса за 15 000 или 170 000 ₽ в год. За что такая разница? 🤔 Представьте: компании нужно всего несколько вещей — принимать заявки, согласовывать счета и контролировать задачи сотрудников. А ей предлагают целую цифровую экосистему: CRM, телефонию, маркетинг, аналитику, десятки дополнительных функций… Но что, если половина из этого бизнесу вообще не нужна?

Слогер 25.10.2026 ▲ 1
Fluxs lenta
Реклама · fluxs.ru