Изображение блога
БКС Мир Инвестиций
БКС Мир Инвестиций Блог компании БКС Мир инвестиций
Вчера в 14:55

Как подключиться к VPS и настроить API для торгового робота

Как подключиться к VPS и настроить API для торгового робота

В предыдущей статье мы разобрали, зачем нужен VPS для автоматизации торговли, как его выбрать и где арендовать. Виртуальный сервер готов — что дальше?

В этой статье разберем следующие шаги: как подключиться к серверу, проверить и при необходимости установить Python, получить токен API БКС и запустить свой первый скрипт через API.

После покупки VPS на почту придут важные данные:

  • IP-адрес сервера (например, 185.12.93.15).
  • Логин (обычно root).
  • Пароль (набор букв и цифр).

Сохраните логин и пароль в надежном месте — менеджере паролей или зашифрованном файле. Это единственный способ войти на сервер.

Подключаемся к серверу через SSH

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 — он мог уже быть установлен на сервере. Не стоит устанавливать 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 в личном кабинете БКС

Токен API — ваш персональный ключ доступа. Именно через него торговый робот будет действовать от вашего имени: запрашивать котировки, получать данные по позициям и выставлять заявки.

Пошаговая инструкция

  1. Открываем веб-версию личного кабинета БКС Мир инвестиций и авторизуемся.
  2. Заходим в раздел Профиль и выбираем счет, к которому хотите подключить API.
  3. В разделе о выбранном счете находим пункт Токены API.
  4. Выбираем тип токена:
  • Для торговли — если робот будет выставлять заявки.
  • Для чтения данных — если нужен только мониторинг без торговли.

              5.Нажимаем «Выпустить токен» и сразу копируем его.

Токен отображается только один раз — сразу после выпуска. Скопируйте его немедленно и сохраните в надежном месте. Если потеряете — придется выпускать новый.

Устанавливаем библиотеку BCSPy

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 работает и доступ есть.

Запускаем робота в фоновом режиме 24/7

Сейчас робот работает, только пока открыто окно 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 Токен скопирован не полностью или устарел. Зайдите в ЛК БКС, выпустите новый и сразу скопируйте целиком.

Итоговый чек-лист

  • Подключились к серверу через SSH.
  • Обновили систему (apt update && apt upgrade).
  • Убедились, что Python 3.8+ установлен.
  • Установили библиотеку BCSPy.
  • Получили токен API в личном кабинете БКС и сохранили его.
  • Запустили первый скрипт — убедились, что API работает.
  • Настроили фоновый запуск через screen.

Вы прошли весь путь от «голого» сервера до работающего соединения с API БКС. В следующей статье разберем, как запустить свой первый торговый скрипт и начать совершать сделки через API.

Больше полезной информации для инвесторов вы найдете на BCS Express.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн