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

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

VPS для крипто-торгового бота: ccxt, биржи и низкая задержка
Блог MAATRIX · 2026-07-07

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

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Почему торговому боту критичен 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
sudo ufw allow OpenSSH && sudo ufw enable
python3 -m venv ~/trader/.venv
source ~/trader/.venv/bin/activate
pip install --upgrade pip
pip install ccxt

Проверим доступ к публичному API биржи без ключей — это подтвердит сетевую связность:

python3 -c "import ccxt; print(ccxt.binance().fetch_ticker('BTC/USDT')['last'])"

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

API-ключи биржи — это доступ к деньгам. Никогда не храните их в коде и git. Держите в .env с правами 600 и создавайте ключ без права вывода средств.

cat > ~/trader/.env <<'EOF'
EXCHANGE_API_KEY=your_key
EXCHANGE_SECRET=your_secret
EOF
chmod 600 ~/trader/.env

На стороне биржи в настройках API включите только торговлю и чтение, отключите вывод и добавьте IP вашего VPS в белый список — тогда даже утёкший ключ бесполезен с чужого адреса.

import os, ccxt
from dotenv import load_dotenv
load_dotenv()
ex = ccxt.binance({
    'apiKey': os.environ['EXCHANGE_API_KEY'],
    'secret': os.environ['EXCHANGE_SECRET'],
    'enableRateLimit': True,
})
print(ex.fetch_balance()['total'])

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

Биржи жёстко ограничивают частоту запросов. Флаг enableRateLimit: True в ccxt сам выдерживает паузы, но логику всё равно проектируйте экономно: не опрашивайте рынок чаще, чем нужно стратегии.

Оборачивайте сетевые вызовы в обработку ошибок и повторы — временный сбой сети не должен ронять бота.

import time, ccxt
for attempt in range(5):
    try:
        ticker = ex.fetch_ticker('BTC/USDT')
        break
    except ccxt.NetworkError as e:
        print('network error, retry:', e)
        time.sleep(2 ** attempt)
    except ccxt.ExchangeError as e:
        print('exchange error:', e)
        break

Запуск под systemd

Бот должен подниматься после ребута и перезапускаться при падении. Unit-файл с автоперезапуском:

[Unit]
Description=Crypto trading bot
After=network-online.target
Wants=network-online.target

[Service]
User=trader
WorkingDirectory=/home/trader/trader
EnvironmentFile=/home/trader/trader/.env
ExecStart=/home/trader/trader/.venv/bin/python bot.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now trader
journalctl -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 для торгового бота

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

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

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

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

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

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

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

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