MAATRIX / Блог / VPS для крипто-торгового бота на ccxt

VPS для крипто-торгового бота на ccxt

Блог MAATRIX · 2026-07-07

Торговый бот должен работать без пауз и с минимальной задержкой до биржи — секунды простоя стоят денег. Разберём стенд на Python и ccxt: подключение к бирже, безопасные ключи, systemd и почему близость сервера к бирже важнее мощности.

Почему торговому боту критичен VPS

['Домашний интернет для трейдинга не подходит: разрыв связи в момент сделки может обернуться незакрытой позицией и убытком. Боту нужен сервер с аптаймом близким к 100% и стабильным низким пингом до API биржи.', 'Второй фактор — задержка. Чем ближе VPS к дата-центру биржи, тем быстрее исполняются ордера. Для большинства стратегий, кроме HFT, разницы в единицы миллисекунд достаточно, и обычный VPS в правильной локации закрывает задачу.', '
  • Аптайм 24/7 — рынок не спит, бот тоже.
  • Низкая задержка — быстрее исполнение ордеров.
  • Стабильный IP — многие биржи привязывают ключи к белому списку адресов.
']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для торгового бота

Установка ccxt

['ccxt — единая библиотека для сотни бирж: один код работает с Binance, Bybit, OKX и другими. Ставим её в venv.', '
sudo apt update && sudo apt install -y python3-venv git ufw\nsudo ufw allow OpenSSH && sudo ufw enable\npython3 -m venv ~/trader/.venv\nsource ~/trader/.venv/bin/activate\npip install --upgrade pip\npip install ccxt
', 'Проверим доступ к публичному API биржи без ключей — это подтвердит сетевую связность:', '
python3 -c "import ccxt; print(ccxt.binance().fetch_ticker(\'BTC/USDT\')[\'last\'])"
']

Безопасное хранение API-ключей

['API-ключи биржи — это доступ к деньгам. Никогда не храните их в коде и git. Держите в .env с правами 600 и создавайте ключ без права вывода средств.', "
cat > ~/trader/.env <<'EOF'\nEXCHANGE_API_KEY=your_key\nEXCHANGE_SECRET=your_secret\nEOF\nchmod 600 ~/trader/.env
", 'На стороне биржи в настройках API включите только торговлю и чтение, отключите вывод и добавьте IP вашего VPS в белый список — тогда даже утёкший ключ бесполезен с чужого адреса.', "
import os, ccxt\nfrom dotenv import load_dotenv\nload_dotenv()\nex = ccxt.binance({\n    'apiKey': os.environ['EXCHANGE_API_KEY'],\n    'secret': os.environ['EXCHANGE_SECRET'],\n    'enableRateLimit': True,\n})\nprint(ex.fetch_balance()['total'])
"]

Учёт лимитов и надёжность

['Биржи жёстко ограничивают частоту запросов. Флаг enableRateLimit: True в ccxt сам выдерживает паузы, но логику всё равно проектируйте экономно: не опрашивайте рынок чаще, чем нужно стратегии.', 'Оборачивайте сетевые вызовы в обработку ошибок и повторы — временный сбой сети не должен ронять бота.', "
import time, ccxt\nfor attempt in range(5):\n    try:\n        ticker = ex.fetch_ticker('BTC/USDT')\n        break\n    except ccxt.NetworkError as e:\n        print('network error, retry:', e)\n        time.sleep(2 ** attempt)\n    except ccxt.ExchangeError as e:\n        print('exchange error:', e)\n        break
"]

Запуск под systemd

['Бот должен подниматься после ребута и перезапускаться при падении. Unit-файл с автоперезапуском:', '
[Unit]\nDescription=Crypto trading bot\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nUser=trader\nWorkingDirectory=/home/trader/trader\nEnvironmentFile=/home/trader/trader/.env\nExecStart=/home/trader/trader/.venv/bin/python bot.py\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target
', '
sudo systemctl daemon-reload\nsudo systemctl enable --now trader\njournalctl -u trader -f
']

Где брать сервер и частые ошибки

['Торговому боту важнее стабильность и низкая задержка, чем количество ядер. На тарифах MAATRIX это AMD EPYC + NVMe от $8/мес: высокая частота ядра быстро считает индикаторы, а локации UK и США дают предсказуемо низкий пинг до крупных бирж. Ежедневные бэкапы сохранят конфиг и историю сделок. Оплата картой РФ, СБП, криптой или токеном MAAT.', '
  • Ключи в коде или git — прямой путь к потере средств.
  • Ключ с правом вывода — при утечке уводят баланс; отключайте вывод.
  • Нет IP-whitelist на бирже — ключ работает с любого адреса.
  • Игнор rate limit — биржа временно банит по IP.
  • Синхронизация времени — при расхождении часов биржа отклоняет подпись; держите включённым systemd-timesyncd.
']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для торгового бота

Частые вопросы

Какая биржа поддерживается через ccxt?

ccxt работает с сотней бирж, включая Binance, Bybit, OKX, KuCoin. Один и тот же код с минимальными правками переносится между ними.

Нужен ли мощный сервер для торгового бота?

Нет, если это не HFT. Обычной стратегии хватает 1-2 ГБ RAM. Важнее стабильный аптайм и низкий пинг до биржи.

Почему биржа отклоняет запросы с подписью?

Чаще всего из-за расхождения системного времени. Убедитесь, что на VPS работает синхронизация времени через systemd-timesyncd или chrony.