Last Updated: March 2026
*Дисклеймер: Эта статья носит исключительно информационный характер и не является финансовой рекомендацией. Торговля криптовалютой сопряжена со значительным риском потери средств. Никогда не торгуйте на деньги, которые не можете позволить себе потерять. Всегда проводите собственное исследование (DYOR).*
Последние три года я провёл за тем, что строил, ломал и перестраивал крипто-торговых ботов. Одни сливали деньги. Несколько зарабатывали. А те, что реально работали, научили меня рынкам больше, чем любой платный курс. Если вы думаете о том, чтобы написать собственного бота — не купить, не арендовать, а именно самостоятельно написать код — это то руководство, которого мне так не хватало в самом начале.
Здесь не будет поверхностного обзора. Я проведу вас через весь пайплайн: выбор стратегии, выбор биржи, настройка среды разработки, написание кода, правильный бэктест (большинство новичков делают это неверно), деплой на сервер и управление рисками — чтобы одна неудачная неделя не уничтожила весь счёт. К концу у вас будет чёткий роадмап и понимание того, что отличает хобби-проект от бота, который реально может работать без присмотра с живыми деньгами.
Зачем строить бота самому, если можно купить готовый?
Сразу закроем очевидный вопрос: платформы вроде 3Commas, Cryptohopper и Pionex уже существуют. Они отполированы, удобны, и через десять минут у вас уже работает грид-бот. Так зачем вообще заморачиваться?
Три причины. Первая — контроль. Когда вы используете готового бота, вы ограничены теми настройками, которые платформа сочла нужным открыть. Хотите кастомный выход по дисбалансу стакана плюс ставке финансирования? Удачи найти это в выпадающем меню. Когда вы пишете код сами, ваша стратегия ограничена только тем, что вы можете выразить на Python (или любом другом языке).
Вторая — стоимость при масштабировании. Подписка за $30 в месяц кажется копейками, но если вы гоняете несколько стратегий на нескольких счетах, эти расходы быстро накапливаются. Когда начинаете работать с серьёзными объёмами, нулевая операционная стоимость собственного кода становится значимым преимуществом.
Третья — и самая главная — эдж. Каждый готовый бот торгует теми же стратегиями, что и тысячи других пользователей. Если все вы торгуете по одним сигналам на одних биржах — ваша альфа стремится к нулю. Единственный способ иметь реальное преимущество — написать что-то, чего другие не запускают. А это значит собственный код.
При этом строить сложнее. Вы будете дебажить API-подключения в три часа ночи. Будете смотреть, как стратегия с отличным бэктестом сливает деньги в живом рынке. Потратите недели на инфраструктуру до первой сделки. Если это звучит утомительно, а не увлекательно — пользуйтесь готовой платформой, в этом нет ничего зазорного. Но если хотите полного контроля — поехали.
Free: Crypto Trading Platform Cheat Sheet
Side-by-side fee comparison, ratings, and quick-pick recommendations for every major exchange and trading bot. Save hours of research.
No spam. Instant download on the next page.
Шаг 1: сначала стратегия, потом код
Самая частая ошибка новичков — начинать с выбора технологий. Python или Rust? Какая библиотека? Какой API? Всё это неважно, пока вы не знаете, что именно ваш бот будет делать.
Стратегия определяет всё остальное — какие данные вам нужны, требования к скорости, параметры риска и даже выбор биржи. Вот основные архетипы стратегий, примерно в порядке возрастания сложности:
Grid-торговля — стратегия начального уровня. Вы задаёте ценовой диапазон, делите его на уровни и выставляете ордера на покупку вниз и на продажу вверх. Когда цена гуляет в диапазоне, вы собираете спред на каждом колебании. Отлично работает на боковике, разваливается в тренде. Простую версию можно написать в 200 строк на Python.
DCA-боты (усреднение) покупают на фиксированную сумму через равные интервалы или при падениях. Здесь простительнее ошибиться с тайминг — вы не предсказываете рынок, просто эффективно накапливаете. Хороший первый проект.
Моментум / следование тренду — покупаете пробои и едете в тренде. Сложнее, потому что нужна сигнальная логика (пересечения скользящих средних, пороги RSI, всплески объёма) плюс трейлинг-стопы для фиксации прибыли. На этом уровне оседает большинство промежуточных разработчиков.
Боты на возврат к среднему ставят на то, что экстремальные движения цены откатятся к среднему. Нужны статистические инструменты (Z-score, полосы Боллинджера, отклонения от VWAP) и жёсткий риск-менеджмент — потому что когда возврат не происходит, это происходит жёстко.
Арбитраж (спот против фьючерсов или между биржами) — самая сложная категория. Маржа маленькая, латентность важна, конкуренция жёсткая. Не начинайте с этого.
Моя рекомендация: если это ваш первый бот — сделайте DCA или грид. Легко кодировать, легко бэктестить, и они учат механике исполнения ордеров, не заставляя одновременно решать задачу поиска альфы.
Шаг 2: выбор биржи и получение API-ключей
Выбранная биржа определяет качество API, комиссии и в конечном счёте потолок производительности вашего бота. Вот моё сравнение на основе реального опыта торговли:
| Биржа | Качество API | Спот комиссия (тейкер) | Поддержка фьючерсов | Для кого |
|---|---|---|---|---|
| Bybit | Отличное, низкая латентность, хорошая документация | 0.10% | Да, высокая ликвидность | Бот-трейдеры, деривативы |
| Binance | Отличное, огромная ликвидность | 0.10% | Да | Всё подряд, максимум пар |
| Kraken | Хорошее, надёжное, строгие лимиты запросов | 0.26% | Ограниченно | Безопасность, Европа |
| Coinbase Advanced | Приемлемое, регулируемое в США | 0.60% | Нет | Только для США |
| OKX | Очень хорошее, много функций | 0.10% | Да | Азиатская ликвидность |
| Phemex | Хорошее, фокус на фьючерсах | 0.06% | Да | Дешёвые фьючерсы |
Для бот-трейдинга я использую Try Bybit free как основную биржу. REST API быстрый, WebSocket-фиды надёжные, а лимиты запросов достаточно щедрые, чтобы итерировать без банов. Их тестнет тоже отличный — можно гонять бота в бумажной торговле, которая зеркалит живые условия, до того как рисковать реальными деньгами.
После выбора биржи создайте API-ключи с минимально необходимыми правами. Для большинства торговых ботов нужно включить спот-торговлю, включить фьючерсную торговлю если применимо, и отключить вывод средств. Не могу достаточно сильно это подчеркнуть: никогда, ни при каких условиях не давайте боту права на вывод. Если ключи скомпрометируют — пусть злоумышленник только торгует (и сливает) ваши средства, но не выводит их.
Храните ключи в переменных окружения или менеджере секретов — никогда не коммитьте их в Git. Я видел опытных разработчиков, которые пушили API-ключи в публичные репозитории и теряли пятизначные суммы меньше чем за час. Боты постоянно сканируют GitHub в поисках открытых ключей.
Шаг 3: настройка среды разработки
Вот стек, который я рекомендую для 90% крипто-ботов:
- **Язык**: Python 3.11+. Не самый быстрый, но экосистема для трейдинга (ccxt, pandas, numpy, backtrader) несравнимо богатая, а скорость редко имеет значение, если вы не занимаетесь HFT или кросс-биржевым арбитражем.
- **Библиотека для бирж**: `ccxt` для унифицированного доступа к API 100+ бирж, или нативный SDK биржи (например `pybit` для Bybit), если нужна минимальная латентность.
- **Работа с данными**: `pandas` для временных рядов, `numpy` для математики.
- **Бэктестинг**: `backtrader` или `vectorbt`. Vectorbt быстрее, backtrader гибче.
- **Графики (при разработке)**: `matplotlib` или `plotly`. Для мониторинга в режиме реального времени я подключаюсь к [Try TradingView free](/go/tradingview/how-to-build-crypto-trading-bot-2026?lang=ru) и накладываю входы и выходы своего бота на живые графики — так я ловлю стратегические баги визуально.
- **База данных**: SQLite для небольших ботов, PostgreSQL если храните значительный объём тиковых данных.
- **Хостинг**: дешёвый VPS (DigitalOcean, Hetzner, Vultr) за $5-10 в месяц — более чем достаточно для одного бота.
Создайте виртуальное окружение, зафиксируйте зависимости, и с первого дня используйте Git. Контроль версий спасал меня больше раз, чем я могу посчитать. Когда бот начинает вести себя странно во вторник, нужно уметь сделать diff с рабочей версией понедельника.
Структура директорий, которую я использую:
```
/bot
/strategies
/data
/logs
/tests
main.py
config.yaml
.env (gitignored)
```
Разделяйте ответственность: логика стратегии идёт в `/strategies`, получение рыночных данных — отдельный модуль, исполнение ордеров — отдельный модуль, риск-менеджмент — отдельный модуль. Смешивать всё это кажется быстрее поначалу, но через несколько недель становится неподдерживаемым.
Шаг 4: пишем основную логику бота
Торговый бот — это по сути четыре компонента, соединённых в цикл:
- **Получение данных** — берём актуальные рыночные данные (цена, стакан, индикаторы)
- **Генерация сигнала** — решаем, покупать, продавать или держать
- **Исполнение ордеров** — размещаем реальные сделки на бирже
- **Управление позицией** — отслеживаем открытые позиции, стопы и выходы
Вот псевдокод простого моментум-бота:
```python
while True:
price = exchange.fetch_ticker(symbol)['last']
ohlcv = exchange.fetch_ohlcv(symbol, '1h', limit=100)
df = pd.DataFrame(ohlcv, columns=['ts','o','h','l','c','v'])
df['sma20'] = df['c'].rolling(20).mean()
df['sma50'] = df['c'].rolling(50).mean()
in_position = check_positions()
signal = 'buy' if df['sma20'].iloc[-1] > df['sma50'].iloc[-1] else 'sell'
if signal == 'buy' and not in_position:
place_order('buy', size=calculate_size(price))
elif signal == 'sell' and in_position:
place_order('sell', size=get_position_size())
time.sleep(60)
```
Это намеренно минималистично. Боевой бот должен обрабатывать десятки граничных случаев, которые этот пример игнорирует: что если вызов API упадёт? Что если ордер исполнится только частично? Что если бот упадёт в середине исполнения? Что если биржа уйдёт на техническое обслуживание?
Реальное исполнение ордеров включает: логику повторных попыток с экспоненциальной выдержкой, идемпотентные ключи (чтобы не поставить один и тот же ордер дважды после сетевого сбоя), и процедуры сверки, которые при перезапуске проверяют совпадение внутреннего состояния с реальным состоянием биржи. Это занимает больше времени, чем написание самой стратегии — но без этого боты молча теряют деньги.
Шаг 5: правильный бэктест (именно здесь большинство ботов умирает)
Бэктестинг — место, где каждый начинающий разработчик ботов обманывает сам себя. Типичная схема: пишете стратегию, прогоняете бэктест на данных 2021 года, видите красивую кривую капитала, деплоите в прод — и шесть недель наблюдаете, как она сливает деньги, после чего выключаете.
Что пошло не так? Почти всегда одно из следующего:
- **Переобучение** — вы тюнили параметры до тех пор, пока бэктест не стал выглядеть идеально на исторических данных, которые не отражают будущее
- **Lookahead bias** — стратегия использовала информацию, которой не было бы доступно в момент принятия решения
- **Игнорирование комиссий и проскальзывания** — бэктест предполагал бесплатное мгновенное исполнение ровно по нужной цене
- **Ошибка выжившего** — вы тестировали только на токенах, которые всё ещё существуют, игнорируя все монеты, ушедшие в ноль
- **Зависимость от режима** — период бэктеста был сплошным бычьим рынком; стратегия не работает в боковике или медведе
Чтобы бэктест был честным: разделите исторические данные на обучающую выборку (где тюните параметры) и тестовую (к которой прикасаетесь один раз, в самом конце). Включите реалистичные комиссии — 0.1% за сторону на Bybit, плюс 0.02-0.05% проскальзывания по рыночным ордерам в нормальных условиях, больше при волатильности. Тестируйте на разных рыночных режимах: бык, медведь, боковик. Если стратегия работает только в одном режиме — нужен фильтр режима в живом боте.
Шагающий вперёд анализ (walk-forward) — золотой стандарт. Вы обучаетесь на месяцах 1-6, тестируете на месяце 7, затем обучаетесь на месяцах 2-7, тестируете на месяце 8, и так далее. Это имитирует, как стратегия работала бы при периодической реоптимизации в реальном времени. Больше работы, но несравнимо честнее одиночного бэктеста.
Я использую Try TradingView free для проверки Python-бэктестов — реплицирую ключевые сигналы в Pine Script. Когда цифры совпадают на обеих платформах, я больше доверяю бэктесту. Когда расходятся — где-то баг, и его поиск уже несколько раз спасал меня от деплоя сломанных стратегий.
Шаг 6: деплой, мониторинг и управление рисками
После прохождения бэктеста — торгуйте на бумаге не меньше двух недель. На всех упомянутых биржах есть тестнет. Используйте его. Разница между бэктестированным исполнением и реальным — это отрезвляет с первого раза.
Когда выходите на живые деньги, начинайте с маленьким размером. Я имею в виду действительно маленьким — например 1% от капитала, который планируете в итоге задействовать. Цель первого месяца — не заработать, а убедиться, что бот в продакшене ведёт себя так же, как в бэктесте. Если через 30 дней живой PnL примерно совпадает с PnL бэктеста за тот же период — масштабируйтесь. Если нет — разберитесь почему, прежде чем добавлять капитал.
Деплойте на VPS, не на ноутбук. Ноутбуки засыпают, падают и теряют интернет. VPS за $10 в месяц работает месяцами без сбоев. Используйте `systemd` или `supervisor` для автоматического перезапуска бота при крэше, и настройте базовое логирование в файл, по которому можно будет искать, когда что-то пойдёт не так.
Мониторинг — не опция. Как минимум, настройте:
- **Telegram- или Discord-алерты** на каждый выставленный ордер и каждую ошибку
- **Ежедневную сводку PnL**, доставляемую автоматически
- **Heartbeat-мониторинг** — если бот не отзывается каждые 5 минут, вас должны разбудить
- **Сверку баланса** — сравнивайте ожидаемый баланс с реальным балансом на бирже каждый час
Риск-менеджмент — это то, где вы побеждаете или проигрываете в долгосрочной перспективе. Жёсткие правила, которые я всегда реализую:
- **Лимит риска на сделку** — никогда не рискуйте больше 1-2% счёта в одной сделке
- **Дневной лимит убытка** — если за день упали на 5%, прекращайте торговать до завтра
- **Максимальное количество позиций** — ограничивайте одновременные позиции, чтобы избежать чрезмерного плеча
- **Аварийный выключатель** — одна команда, которая закрывает все позиции и останавливает бота, когда очевидно что-то не так
Плюсы и минусы разработки собственного бота
Плюсы:
- Полный контроль над логикой стратегии
- Нулевые ежемесячные расходы после настройки инфраструктуры
- Ваш эдж действительно ваш — никто другой не запускает точно такой же код
- Глубокое обучение: вы поймёте рынки и системный дизайн на уровне, который готовые боты никогда не дадут
- Масштабируемость — один бот легко управляет несколькими счетами и стратегиями
Минусы:
- Крутая кривая обучения — рассчитывайте на 100+ часов до первой живой сделки
- Баги стоят реальных денег; петля обратной связи жестокая
- Постоянное обслуживание — API бирж меняются, рынки сдвигаются, всё ломается
- Одновременно требует навыков кодирования, знания DevOps и рыночной интуиции
- Психологически тяжелее, чем купить готового бота — когда ваш код теряет деньги, это ваша ответственность
FAQ
Q: Сколько денег нужно, чтобы начать запускать торгового бота?
Технически, на большинстве бирж можно начать со $100. Реалистично — я бы рекомендовал минимум $500-1000, чтобы размер позиции не ограничивался минимальными размерами ордеров и чтобы комиссии не съедали доходность. Ниже $500 математика редко сходится после комиссий.
Q: Какой язык программирования лучше всего подходит для крипто-бота?
Python в 95% случаев — экосистема несравнимая, а скорость редко имеет значение для не-HFT стратегий. Если занимаетесь латентно-чувствительным арбитражем — рассмотрите Rust или Go. JavaScript нормально работает для простых ботов, но имеет слабее квантовую библиотечную экосистему.
Q: Сколько времени займёт создание прибыльного бота с нуля?
Рассчитывайте на 3-6 месяцев серьёзной работы до первой стабильно прибыльной стратегии — и это при условии, что Python вы уже знаете. Написать код — это лёгкая половина; найти реальный эдж, который держится в живых рынках — вот сложная половина. Кто обещает быстрее — что-то продаёт.
Q: Можно ли использовать ИИ / ChatGPT для написания кода бота?
Абсолютно да, и нужно. Claude и GPT реально полезны для шаблонного кода, дебаггинга и объяснения документации библиотек. Но не доверяйте вслепую торговой логике, сгенерированной ИИ — всегда проверяйте математику стратегии и граничные случаи самостоятельно. ИИ с удовольствием напишет вам уверенно неправильный код, который красиво проходит бэктест и сливает деньги в реальной торговле.
Q: Какая самая большая ошибка новичков при создании ботов?
Деплой слишком большого капитала слишком быстро после хорошего бэктеста. Бэктесты врут — не потому что всегда ошибаются, а потому что не захватывают проскальзывание, сбои API, отключения бирж и смену режимов. Начинайте с 1% от целевого размера, валидируйте живую производительность месяц, потом масштабируйтесь. Выживают те разработчики, которые параноидально подходят к первым 30 дням живой торговли.
Итоги
Создать крипто-торгового бота — один из самых увлекательных технических проектов, за которые можно взяться. Но и один из самых смиряющих. Рынку всё равно на ваш умный код. Он найдёт каждый граничный случай, который вы забыли, и каждое допущение, которое не выдерживает. Уважайте это, начинайте с малого, итерируйте честно — и в итоге получите что-то действительно ценное.
Если серьёзно настроены начать, мой рекомендованный стек — Python + ccxt + Try Bybit free для исполнения, с Try TradingView free для визуальной проверки стратегий. Эта связка провела меня через три года разработки, и я пока не собираюсь её менять.
Держите скоуп первого бота маленьким. Запустите рабочую DCA или грид-стратегию, прежде чем пробовать что-то сложное. Потом итерируйте. Побеждают не самые умные разработчики — а те, кто доводит дело до конца.
*Дисклеймер: Эта статья носит исключительно информационный характер и не является финансовой рекомендацией. Торговля криптовалютой сопряжена со значительным риском потери средств. Никогда не торгуйте на деньги, которые не можете позволить себе потерять. Всегда проводите собственное исследование (DYOR).*
Партнёрское раскрытие: Эта статья содержит партнёрские ссылки. Если вы зарегистрируетесь по этим ссылкам, я могу получить комиссию без каких-либо дополнительных расходов для вас. Я рекомендую только те инструменты, которые сам использую в своей торговле и разработке ботов. Эти комиссии помогают поддерживать работу сайта и держать контент бесплатным.