
В предыдущей статье мы разобрали, зачем нужен VPS для автоматизации торговли, как его выбрать и где арендовать. Виртуальный сервер готов — что дальше?
В этой статье разберем следующие шаги: как подключиться к серверу, проверить и при необходимости установить Python, получить токен API БКС и запустить свой первый скрипт через API.
После покупки VPS на почту придут важные данные:
Сохраните логин и пароль в надежном месте — менеджере паролей или зашифрованном файле. Это единственный способ войти на сервер.
SSH (Secure Shell) — защищенный протокол подключения к удаленному серверу. Все, что вы передаете между своим компьютером и сервером, зашифровано: пароль и команды не видны снаружи.
Что понадобится?
Выбор инструмента зависит от вашей операционной системы:
• Windows: PuTTY (простой и бесплатный) или MobaXterm (чуть богаче функциями).
• Linux/macOS: SSH уже встроен — просто откройте Терминал.
Устанавливаем и запускаем PuTTY (для Windows)
1. Идем на официальный сайт: putty.org → скачиваем 64-битную версию (.msi или .exe) → устанавливаем.
2. Запускаем PuTTY. В открывшемся окне:
• В поле Host Name (or IP address) вставляем IP-адрес из письма.
• Порт оставляем 22, тип подключения — SSH.
• В поле Saved Sessions придумываем имя (например, TradeBot) и нажимаем Save — чтобы не вводить данные каждый раз заново.
3. Нажимаем кнопку Open.
Первый вход: черный экран и логин
После нажатия Open откроется черное окно — это командная строка (CLI), рабочий стол вашего сервера без иконок. Вместо мыши — клавиатура.
Сервер запросит логин и пароль. Вводим из письма:
login as: root
Когда вводите пароль, символы не отображаются — ни звездочки, ни точки. Это нормально: Linux скрывает даже длину пароля. Просто введите пароль и нажмите Enter.
Если все верно, увидите строку с мигающим курсором:
root@tradebot:~#
Символ # означает, что вы вошли и сервер ждет ваших команд.
Вы работаете под пользователем root — это администратор с полными правами. Будьте внимательны: неверная команда может сломать систему. Для повседневной работы рекомендуем создать отдельного пользователя — это разберем в следующих статьях.
Сначала обновим систему, а затем проверим Python — он мог уже быть установлен на сервере. Не стоит устанавливать Python поверх существующей версии без проверки: это может нарушить работу других программ.
Обновляем систему
Скопируйте команду и вставьте в черное окно (правой кнопкой мыши или Shift+Insert), затем нажмите Enter:
sudo apt update && sudo apt upgrade -y
Что происходит: сервер скачивает и устанавливает актуальные обновления. Флаг -y автоматически отвечает «Да» на все вопросы. Ждем 1–3 минуты.
Проверяем, установлен ли Python
Последовательно выполните эти команды — достаточно, чтобы хоть одна вернула версию:
python3 --version
python3 -V
python --version
Также полезно узнать, где именно находится Python:
which python3
Если установлено несколько версий, посмотреть их все можно так:
ls /usr/bin/python*
Возможны три сценария:
• Python 3.8 или новее — все готово
Отлично, дополнительная установка не нужна. Переходите к следующему шагу. Для нашей задачи подходит любая версия Python 3.8 и выше.
• Python устарел (ниже 3.8)
Обновите Python командой:
sudo apt install python3 -y
После установки снова выполните python3 --version и убедитесь, что версия обновилась.
• Python не найден
Установите Python и менеджер пакетов pip:
sudo apt install python3 python3-pip -y
pip понадобится нам в следующем шаге для установки библиотеки БКС. Если возникают проблемы с установкой — подробная инструкция на официальном сайте.
Проверяем pip
pip — менеджер пакетов Python, через него установим библиотеку для API БКС. Проверяем:
pip3 --version
Если pip не найден — устанавливаем:
sudo apt install python3-pip -y
Токен API — ваш персональный ключ доступа. Именно через него торговый робот будет действовать от вашего имени: запрашивать котировки, получать данные по позициям и выставлять заявки.
Пошаговая инструкция
5.Нажимаем «Выпустить токен» и сразу копируем его.
Токен отображается только один раз — сразу после выпуска. Скопируйте его немедленно и сохраните в надежном месте. Если потеряете — придется выпускать новый.
BCSPy — готовая обертка для Python, которая позволяет легко и удобно работать с торговым API БКС: отслеживает корректность подключения, выполняет запросы, конвертирует данные в удобный формат и ведет лог операций.
Важно: BCSPy не является официальной библиотекой и не имеет отношения к разработчикам компании БКС.
Устанавливаем библиотеку
pip3 install git+https://github.com/cia76/BCSPy.git
Установка займет около минуты. Если в конце нет слова Error — все прошло успешно.
Подключаем токен
Выполните команду, заменив <ВАШ_ТОКЕН> на скопированный ключ:
python3 -c «from BCSPy import BCSPy; bp_provider = BCSPy('<ВАШ_ТОКЕН>')»
Если команда выполнилась без ошибок — токен принят, соединение с API установлено. Если появилась ошибка — проверьте, не потерян ли символ при копировании токена.
Напишем простой скрипт, который обращается к API и выводит список ваших текущих позиций. Это хороший способ убедиться, что все настроено правильно.
Создаем файл скрипта
Используем встроенный текстовый редактор nano (по желанию можно использовать vim или любой другой удобный вам редактор):
nano check.py
Откроется редактор. Вставьте в него следующий код (правой кнопкой или Shift+Insert):
import osfrom BCSPy import BCSPy
# Берем токен из переменной окружения
REFRESH_TOKEN = os.environ.get(«BCS_TRADE_REFRESH_TOKEN»)
if not REFRESH_TOKEN:
print(«Ошибка: переменная BCS_TRADE_REFRESH_TOKEN не найдена.»)
exit(1)
print(«Запуск проверки портфеля...»)
bp_provider = BCSPy(refresh_token=REFRESH_TOKEN)
try:
positions = bp_provider.get_positions()
if positions:
print("\nВаши активы на счете:")
for ticker, qty in positions.items():
print(f" — {ticker}: {qty} лотов")
else:
print(«Открытых позиций нет — счет пустой.»)
except Exception as e:
print(f«Ошибка при запросе: {e}»)
finally:
print(«Сеанс завершен.»)
Сохраняем файл: нажимаем Ctrl+O → Enter → Ctrl+X для выхода из редактора.
Запускаем скрипт
python3 check.py
Ожидаемый результат:
• Если есть открытые позиции — увидите список бумаг (например: SBER: 10 лотов, LKOH: 5 лотов).
• Если позиций нет — скрипт напишет «Открытых позиций нет». Это тоже успех: значит, API работает и доступ есть.
Сейчас робот работает, только пока открыто окно PuTTY. Как только вы его закроете — скрипт остановится. Чтобы робот работал автономно, используем утилиту screen.
Что такое screen?
Screen — это виртуальный экран внутри сервера. Вы запускаете в нем скрипт, сворачиваете его и уходите. Процесс продолжает работать, даже если вы отключились от интернета.
Устанавливаем screen
sudo apt install screen -y
Запускаем робота в фоне
1. Создаем новый виртуальный экран с именем trade:
screen -S trade
2. Вы окажетесь в чистом терминале. Запускаем скрипт:
python3 check.py
3. Сворачиваем экран, не останавливая процесс: нажимаем Ctrl+A, затем D (Detach).
Вас вернет в основной терминал, но процесс внутри screen продолжает работать.
Проверяем
Закройте PuTTY. Зайдите на сервер снова. Вернитесь к запущенному роботу:
screen -r trade
Если видите вывод вашего скрипта — робот работает автономно в облаке. Теперь ему не страшны отключения вашего интернета и перезагрузка ноутбука.
screen — удобный инструмент для быстрого старта. Когда будете готовы к серьезной эксплуатации, рассмотрите systemd-сервисы: они автоматически перезапускают процессы после перезагрузки сервера.
| Ошибка | Решение |
|---|---|
| Connection refused / timeout | Проверьте IP-адрес — скопируйте точно из письма. Убедитесь: порт 22, тип SSH. Подождите 5 минут — сервер мог еще не запуститься. |
| Access denied (неверный пароль) | Скопируйте пароль из письма целиком, без пробелов. Символы на экране не отображаются — это нормально. |
| pip: command not found | Запустите: sudo apt install python3-pip -y |
| ModuleNotFoundError: No module named 'BCSPy' | Повторите установку: pip3 install git+https://github.com/cia76/BCSPy.git |
| Ошибка токена / Unauthorized | Токен скопирован не полностью или устарел. Зайдите в ЛК БКС, выпустите новый и сразу скопируйте целиком. |
Вы прошли весь путь от «голого» сервера до работающего соединения с API БКС. В следующей статье разберем, как запустить свой первый торговый скрипт и начать совершать сделки через API.
Больше полезной информации для инвесторов вы найдете на BCS Express.