📖 Термины этого урока — простыми словами
ccxt — готовая библиотека (набор кода) для подключения к биржам. Написана другими программистами, мы просто используем её. Поддерживает 100+ бирж, включая Binance.
Таймфрейм — период одной свечи на графике. 1h = каждая свеча = 1 час. 15m = 15 минут. Чем меньше таймфрейм — тем больше шума, чем больше — тем надёжнее сигналы.
OHLCV — данные одной свечи: Open (открытие), High (максимум), Low (минимум), Close (закрытие), Volume (объём). Это всё что нужно боту для анализа.
Библиотека (lib) — готовый набор кода который решает типовые задачи. Как конструктор: не пишешь с нуля, а используешь готовые детали.
❌ До этого урока
- Бот выставлял ордера "внутри себя", на бирже ничего не происходило
- Не уверен что бот умеет общаться с Binance API
- Не понимаешь статусы ордеров и их жизненный цикл
✅ После этого урока
- Бот отправляет настоящие ордера на Binance Testnet
- Ты видишь их в веб-интерфейсе биржи своими глазами
- Понимаешь статусы NEW → FILLED → CLOSED → CANCELED
Запускаем полного бота на Testnet
exchange.py написан, бот видит рынок. Теперь собираем всё вместе и запускаем — бот начнёт выставлять реальные ордера на Testnet по живым ценам.
👤 Ты
Собери все модули в main.py и запусти бота на Testnet. Бот долж��н: сканировать список монет каждые 5 минут, при сигнале — выставлять реальный ордер на Testnet через exchange.py, логировать каждый ордер �� trades.csv. Запусти и покажи первые сигналы.
📊 Первые ордера на Testnet
14:32:07 → SOL/USDT LONG
Вход: $141.80 | SL: $138.96 | TP: $147.47
✓ Ордер выставлен на Testnet: ID #4829173
14:41:55 → BNB/USDT SHORT
Вход: $587.20 | SL: $598.94 | TP: $569.78
✓ Ордер выставлен на Testnet: ID #4829201
Что смотреть пока бот торгует
👤 Ты — проверка через день
Открой trades.csv и выведи статистику ��а последние 24 часа: количество сделок, win rate, общий PnL. Покажи самую прибыльную и самую убыточную сделку.
⏳ Минимум 2 недели статистики
50+ сделок — это минимум для выводов. При 5–10 монетах это обычно 1–2 недели. Не делай решений по первым 10 сделкам.
🔍 Testnet хуже чем Paper — почему
Это нормально. Paper Trading не учитывает р��альное исполнение ордеров — на Testnet ордера проскальзывают, биржа даёт чуть другую цену. Это не баг стратегии — это реальность рынка. Если разница небольшая (5–15%) — стратегия рабочая.
⚠️ 5 типичных ошибок при первом запуске
1
API-ключи от MainNet вместо Testnet
Самая опасная ошибка: скопировал ключи от реального аккаунта. Бот успешно коннектится — но торгует реальными деньгами. Фикс: в .env должны быть именно testnet-ключи. Проверь: в личном кабинете Binance Futures Testnet (testnet.binancefutures.com) → API Management.
2
Неверный base URL в ccxt
ccxt по умолчанию подключается к api.binance.com. Для Testnet нужен testnet.binancefutures.com. Если не переключить — ключи не подойдут, получишь 401. Фикс: в exchange.py добавь 'urls': {'api': {'public': '...', 'private': '...'}} через параметр testnet ccxt.
3
Нулевой баланс — ордера отклоняются
На новом Testnet-аккаунте нет USDT по умолчанию. Бот видит сигнал, пытается открыть позицию — биржа отвечает «insufficient balance». Фикс: зайди на testnet.binancefutures.com → Overview → Deposit → запроси тестовые USDT (обычно 3 000 USDT).
4
Ордера зависают в «pending»
Testnet менее ликвиден. Limit-ордера могут не исполниться часами. Бот думает что позиция открыта — на самом деле нет. Фикс: используй Market-ордера на Testnet. Или добавь проверку статуса ордера через 30 секунд и отмену если не исполнился.
5
Сравниваешь Testnet с Paper Trading напрямую
Видишь что WR на Testnet ниже чем на Paper — паникуешь, думаешь стратегия сломалась. Это нормально: Paper не учитывает реальное исполнение. Разница в 10–20% WR — это «execution tax», не баг. Ориентир: если Testnet WR ≥ 60% от Paper WR — стратегия рабочая.
✅ Итог модуля
Бот выставляет реальные ордера на Testnet с виртуальными деньгами. Когда накопишь 50+ сделок и статистика устраивает — переходим к боевому запуску на реальные деньги.