Модуль 10 · Выживание в реале
Урок 10.1 — Кейсы: Ловушка комиссий, Петля гибели, Тихий суицид
⏱ 25 минут 🔒 Платный урок
Урок 23 из 25 · 92% пройдено
📖 Термины этого урока — простыми словами
Комиссия (fee) — биржа берёт плату за каждую сделку: около 0.1% с суммы. На 100 сделках это незаметно. На 10 000 — убивает стратегию.
Cool-down (пауза) — принудительная задержка между повторными входами в одну и ту же позицию. Защита от петли перезахода.
systemd / сервис — система управления процессами на сервере. Поднимает бота при падении — иногда это скрывает проблему вместо того чтобы её показать.
Health-check — проверка что бот не просто "запущен" а действительно работает: сканирует рынок, получает данные, отправляет сигналы.
❌ До этого урока
  • Думаешь что главная угроза боту — плохая стратегия или чёрный лебедь
  • Не замечаешь как комиссии едят прибыль
  • Веришь что "усреднение убытка" спасёт позицию
✅ После этого урока
  • Знаешь ловушку комиссий: как fee-drag съедает даже прибыльную стратегию
  • Понимаешь "петлю гибели" — почему усреднение убыточных сделок топит аккаунт
  • Видишь "тихий суицид" — микроубытки по $0.50 которые выносят счёт за месяц

Ты дошёл до конца. Теперь — правда

9 модулей позади. Бот написан, протестирован, запущен на реальные деньги. Ты всё сделал правильно.

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

Каждый кейс — реальная история. Диагноз. И промпт которым это чинится.

Кейс #1
Ловушка комиссий
История

Бот показывает +$34 за месяц. 27 из 40 сделок — прибыльные. WR 67% — отличный результат. Но на реальном счёте — минус $11. Без объяснений, без ошибок в логах.

Диагноз

Код считает прибыль как: цена выхода − цена входа. Биржа считает иначе: (цена выхода − цена входа) − комиссия входа − комиссия выхода. На каждой сделке 0.1%+0.1% = 0.2% уходит бирже. Если средняя прибыль сделки 0.15% — бот торгует в минус даже при WR 70%.

⚠️ Числа которые убивают

Если твой бот делает 10 сделок в день с размером позиции $500 — комиссия $1 в день, $30 в месяц, $365 в год. Это не мелочь — это порог безубыточности.

Промпт для Claude Code
👤 Ты
Проверь как бот считает прибыль сделки. Убедись что в расчёт включена комиссия биржи — 0.1% на вход и 0.1% на выход. Если комиссия не учитывается — добавь её. Также добавь в статистику: «чистая прибыль после комиссий» отдельной строкой. Хочу видеть реальный результат а не иллюзию.
Как проверить
  • Открой логи — найди любую прибыльную сделку
  • Посчитай вручную: (выход − вход) − 0.2% от суммы
  • Сравни с тем что показывает бот — числа должны совпасть
  • Суммарная статистика в панели теперь показывает «после комиссий»
Кейс #2
Петля гибели
История

Бот открыл SHORT на BTC. Цена пошла против него — стоп не сработал из-за проскальзывания. Бот закрыл позицию и сразу открыл новую в ту же сторону. Снова закрыл с убытком. Снова вошёл. За 40 минут — 6 входов подряд, депозит минус $180.

Диагноз

Когда сделка закрывается с убытком — сигнал на вход может всё ещё быть активным. Бот видит: «условие выполнено → войти». Он не знает что только что вышел. Нет памяти. Нет паузы. Результат — 6 входов за 40 минут в падающий рынок.

Промпт для Claude Code
👤 Ты
Добавь в бота cool-down после закрытия позиции. После каждого выхода из сделки — запретить повторный вход в ту же монету минимум на 15 минут. Если позиция закрылась с убытком — запретить на 30 минут. Хочу чтобы бот не входил подряд несколько раз в одну монету без паузы.
Как проверить
  • Попроси Claude Code показать логику cool-down в коде
  • Проверь: время последнего выхода записывается в словарь/базу
  • Перед каждым входом — проверяется прошедшее время
  • В логах должны появиться записи: «BTCUSDT — cool-down активен, пропускаем»
Кейс #3
Тихий суицид
История

«Мой бот работает уже 2 недели — ни одной сделки». Владелец думал что рынок просто тихий. Потом заглянул в логи и нашёл 8 000 строк «ERROR: connection reset». Сервис поднимался каждые 3 секунды, падал, снова поднимался. Systemd считал его «запущенным».

Диагноз

systemd перезапускает сервис при падении — это его работа. Но он не знает торгует ли бот, получает ли данные, в порядке ли соединение. С его точки зрения: процесс есть → статус «active». Бот «работает» но ничего не делает — и никто не знает.

💡 Правило живого бота

«Active» в systemd = процесс не упал. Это не то же самое что «бот торгует». Нужен отдельный слой проверки — health-check.

Промпт для Claude Code
👤 Ты
Добавь в бота health-check: раз в 5 минут записывать в файл heartbeat.txt текущее время и количество успешных сканирований. Также создай отдельный скрипт watchdog.sh который проверяет: если heartbeat.txt не обновлялся больше 10 минут — отправить мне сообщение в Telegram с текстом «Бот завис — проверь». Cron задачу для watchdog тоже добавь — каждые 5 минут.
Как проверить
  • Проверь что файл heartbeat.txt обновляется каждые 5 минут
  • Останови бота вручную на 11 минут — должен прийти Telegram алерт
  • Запусти снова — алерты должны прекратиться
📍 Три из семи

Комиссии — деньги утекают молча. Петля — одна плохая ночь и депозит улетел. Тихий суицид — бот «работает» но не торгует. Следующие кейсы — о том что бот забывает и о том как цифры в логах расходятся с реальностью.

← Урок 9.2 Урок 10.2 →