Logo

Автоматизированная торговая система hamster-bot


Скачать

Cсылки на скачивание актуальной версии 2.0250729 (нумерация версий бота это просто дата 2.025/07/29):

Download NEW Win Download previous version win

Download NEW Linux Download previous version linux

Download NEW macOS Download previous version macOS


  • Для всех стратегий доступны бэктесты для проверки и подбора настроек на исторических данных. Также ожидается скорый анонс собственного точного тикового тестера стратегий.
  • Уведомления о сделках в telegram
  • WEB интерфейс. Для удобного мониторинга работы бота и быстрой смены настроек без необходимости заходить на свой сервер. Вы можете открывать WEB интерфейс бота из любого места с любого браузера просто открывая страницу бота по ip адресу вашего сервера.
  • Кроссплатформенный. Имеется нативная сборка под любую ОС.
  • Консольный интерфейс для продвинутых пользователей.
  • Оптимизация одновременной работы множества аккаунтов и вариантов настроек в одном боте. Протестирована на стабильность работа более 2000 ботов в одном процессе. При этом потребление ресурсов системы крайне незначительны. Для примера бот работающий на пяти стратегиях по трем аккаунтам потребляет всего 70 МБ памяти.
  • Множество доступных торговых стратегий.
    • Трендовые
    • Контртрендовые
    • Пробойные
    • Возврат к среднему
    Что позволяет составить комбинацию стратегий для свего уникального портфеля стратегий. Есть возможность авторебалансировки своего портфеля чтобы стратегии делились профитом/убытком между собой.
    Вы можете торговать любую стратегию в hamster-bot - просто оставляйте заявку через форму forms.gle/RLVqNCjg4dtosqmF6

Инструкция:

Видео инструкции
Аренда VPS

VPS (VDS) - виртуальный выделенный сервер.
Для нас VPS это полноценный компьютер. Находится он в датацентре провайдера. И провайдер отвечает за бесперебойную работу сервера и стабильное интернет соединение. Это важно для трейдинга!

Будем использовать VPS для запуска программы бота. Это самый правильный самый надежный способ для работы программ торгующих на бирже.

Какую конфигурацию сервера выбрать: При аренде своего первого VPS сервера можно выбрать просто самый дешевый. Его производительности будет достаточно. Софт оптимизирован и не требовательный к ресурсам.

Провайдеры для примера: zomro.com, contabo.com, melbicom.ru
По возможности воспользуйтесь моей реферальной ссылкой: zomro.com/vps?from=413202 Промокод: zomro_413202

Бот может работать на любой ОС Linux, macOS и Windows.
Рекомендуемые версии ОС  Ubuntu: 20.04 , 22.04 , 24.04

❗️Нужно выбирать локацию сервера не в США. (Обычно все биржи блокируют запросы из США). Регионы Europe и Asia - ОК

Нам предоставляется удаленный доступ к этому арендованному компьтеру. (IP адрес, логин (Обычно root) и пароль)
Подключатся к своему VPS с ОС Linux будем по SSH используя приложение termius (или putty)
Termius можно установить даже на смартфон. Будет достаточно бесплатной версии этой программы. (все предложения купить можно просто игнорировать)

Инструкция по установке, запуску и обновлению на Linux (CLI)

Для начала нужно подключится к своему VPS по SSH используя приложение termius (или putty)
После оплаты сервера вам выдают IP адрес, логин (Обычно root) и пароль для подключения по SSH.

Инструкция по установке бота на линукс сервере очень простые из-за наличия готовых скриптов.
Достаточно скопировать -> вставить -> выполнить команды в интерфейсе командной строки.

УСТАНОВКА

Главное условие это уникальный не занятый порт

  • 1. Cоздать новую папку для бота (в примере папка hb1) Таким образом можно установить множество ботов в разные папки hb1, hb2 ... :
    mkdir -p /opt/hb1
  • 2. Перейти в созданную папку:
    cd /opt/hb1
  • 3. Скачать и запустить скрипт install_local.sh:
    wget -qO- https://raw.githubusercontent.com/ksandric/hamster-bot/refs/heads/master/install_local.sh | bash
    Данная команда скачивайет файл скрипта install_local.sh и запускает его исполнение. (скрипт скачивает -> распаковывает zip архив и создает .service в systemd)
  • 4. В процессе скрипт запросит ввод порта с клавиатуры и сам проверит свободен ли введенный порт

Готово! Бот установлен в папку hb4 и будет запущен сервис с таким же названием hb4.serviece.
В в терминале пойдет вывод информации от бота (лог работы) в реальном времени. Можете переходить к добавлению API ключей и настройке стратегий.

ОБНОВЛЕНИЕ

Когда на вашем VPS работает 2 и более ботов:
/opt/hb1
/opt/hb2
/opt/hb3

Для обновления бота в каталоге /opt/hb2 вам нужно выполнить последовательно следующие команды:

  • 1. Перейти в нужный каталог (в примере папка hb2):
    cd /opt/hb2
  • 2. Скачать и выполнить скрипт update_local.sh:
    wget -qO- https://raw.githubusercontent.com/ksandric/hamster-bot/refs/heads/master/update_local.sh | bash

Готово! Обновится и перезапустится бот только в папке /hb2. Скрипт сам находит сервис связаный с выбранной папкой.

Дополнительная информация:

Если на вашем VPS с ОС Linux было установлено много разных ботов и вы не можете понять какой .service к какой папке бота относится - рекомендую воспользоваться командой:
grep -rl "hb_c" /usr/lib/systemd/system/

Эта команда выведет список всех сервисов в которых есть исполняемый файл hb_c (это исполняемый файл бота). Таким образом вы сможете найти нужный вам сервис и узнать к какой папке он относится.

hamster-bot.com

На картинке видим 5 сервисов, а в папке всего (2) бота - значит есть уже лишние.

Если в качестве искомой подстроки ввести имя каталога то будет выведен список сервисов которые ссылаются на эту папку:
grep -rl "/hb/" /usr/lib/systemd/system/

Если вы хотите удалить сервис бота то нужно выполнить команды:
1. systemctl stop hb2.service - остановить сервис hb2
2. systemctl disable hb2.service - отключить сервис hb2
3. rm -rf /usr/lib/systemd/system/hb2.service - удаление сервис файла hb2.service

Прошлая версия инстукции по Установке. Подробная и Актуальная но более сложная

Ссылка на видеоинструкцию youtu.be/jxb6aZQwtN4

Для начала нужно подключится к своему VPS по SSH используя приложение termius (или putty)

  • Создать папку для бота (в примере имя папки "hb")
    mkdir -p /opt/hb
  • Перейти в каталог
    cd /opt/hb
  • Скачать zip архив
    wget https://github.com/ksandric/hamster-bot/blob/master/hb_linux-x64.zip?raw=true
  • Если не установлен unzip - установить
    sudo apt install unzip
  • Распаковать архив
    unzip hb_linux-x64.zip?raw=true
  • Удалить архив zip
    rm -rf hb_linux-x64.zip?raw=true
  • Дать файлу права на запуск командной (исполняемым файлом является - hb_c)
    chmod +x ./hb_c

После этого файл можно запускать вот так ./hb_c но для бота это не годится. нужно создавать сервис - чтобы бот работал в фоне и не закрывался при завершении сеанса в консоли.

  • Перейти в каталог
    cd /usr/lib/systemd/system/
  • Создаем файл hamster-bot_1.service. Создать файл можно командой:
    nano hamster-bot_1.service
    (имя может быть любое, формат всегда .service. Таким образом можно создать Множество сервисов но только смотрите чтобы в конфиг файле у ботов были разные порты указаны)

Контент файла: hamster-bot_1.service
[Unit]
Description=hamster-bot_1
After=multi-user.target
[Service]
Environment="DOTNET_BUNDLE_EXTRACT_BASE_DIR=%h/.net"
Type=simple
ExecStart=/opt/hb/hb_c
WorkingDirectory=/opt/hb
RestartSec=61
Restart=always
[Install]
WantedBy=multi-user.target

  • Cохранить изменения и закрыть файл Ctrl+x далее нажимаем клавишу Y и затем клавишу Enter
  • Выполнить команды:
    • systemctl daemon-reload
    • systemctl enable hamster-bot_1.service
    • apt-get update
    • apt-get install -y libfreetype6
    • apt-get install -y libfontconfig1
    • apt-get install -y fontconfig
    • sudo timedatectl set-timezone UTC
    • Дополнительно можно установить fail2ban:
      apt-get install fail2ban
  • Для открытия порта на котором вы запускаете бота чтобы web интерфейс был доступен из любого браузера по IP адресу вашего сервера (в примере порт 80):
    • iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    • ufw allow 80
  • Для запуска сервиса выполните команду:
    systemctl start hamster-bot_1.service
  • Готово! На этом этапе сервис уже доступен и автоматически будет запускаться при запуске сервера (+ авторестарт если выключится). Для управления сервисом:
    • Смотреть вывод в консоль в реальном времени (лог работы): journalctl --follow -u hamster-bot_1.service
    • Посмотреть текущее состояние: systemctl status hamster-bot_1.service
    • Остановить: systemctl stop hamster-bot_1.service
    • Выключить: systemctl disable hamster-bot_1.service
    • Перезапуск: systemctl restart hamster-bot_1.service
  • После запуска чтобы читать лог бота в реальном времени нужно:
    • Перейти в папку cd /opt/hb/logs
    • Открыть лог tail -f log_тут_дата_лога.log (это общий файл лога + бот пишет логи еще отдельно по каждой стратегии)

Прошлая версия инстукции по Обновлению. Подробная и Актуальная но более сложная

Ссылка на видеоинструкцию youtu.be/FJgu7OfgUWU

Для начала нужно подключится к своему VPS по SSH используя приложение termius (или putty)

В примере название сервиса: "hamster-bot_1.service".
Папка в которой находятся файлы бота: "/opt/hb"

  1. Закрыть бота (остановить сервис)
    systemctl stop hamster-bot_1.service
  2. Перейти в папку с ботом
    cd /opt/hb
  3. Скачать zip архив
    wget https://github.com/ksandric/hamster-bot/blob/master/hb_linux-x64.zip?raw=true
  4. Распаковать архив с заменой файлов (файл settings_program.json проигнорируется)
    unzip -u hb_linux-x64.zip?raw=true -x settings_program.json
  5. Удалить архив zip
    rm -rf hb_linux-x64.zip?raw=true
  6. Снова выдать файлу права на запуск
    chmod +x ./hb_c
  7. Запустить бота
    systemctl restart hamster-bot_1.service
  8. Готово! Бот продолжит работу по вашим настройкам. Всё делается налету без закрытия позиций и ордеров

Если вы заменяете файлый бота на сервере вручную по FTP протоколу - не забывайте команду выдачи исполняемому файлу прав на запуск: chmod +x ./hb_c

  • После запуска бота по этим инструкциям он работает как сервис (в фоне и автоматически будет запускаться при запуске сервера + авторестарт если выключится). Для управления сервисом:
    • Смотреть вывод в консоль в реальном времени (лог работы): journalctl --follow -u hamster-bot_1.service
    • Посмотреть текущее состояние: systemctl status hamster-bot_1.service
    • Остановить: systemctl stop hamster-bot_1.service
    • Выключить: systemctl disable hamster-bot_1.service
    • Перезапуск: systemctl restart hamster-bot_1.service
  • После запуска чтобы читать конткретный лог файл бота в реальном времени нужно:
    • Перейти в папку cd /opt/hb/logs
    • Открыть лог tail -f log_тут_дата_лога.log (это общий файл лога + бот пишет логи еще отдельно по каждой стратегии)
Запуск на MacOS

Не знаю зачем но такая возможность имеется

  • Скачать архив https://github.com/ksandric/hamster-bot/blob/master/hb_osx-x64.zip?raw=true
  • Распаковать архив в папку hb на рабочем столе
  • Открыть командную строку (terminal)
  • Перейти в папку с программой. Выполнить команду в терминале cd Desktop/hb
  • Дать права на запуск chmod a+x hb_c
  • Запустить бота ./hb_c
  • открыть браузер (safari) и перейти по адресу: 127.0.0.1
Подключение telegram:
    Получение токена для входа в WEB интерфейс
  • После нажатия кнопки "Get token" - Токен отправляется сообщением от telegram бота @new_hamster_bot
  • Чтобы бот мог отправить вам личное сообщение нужно начать с ботом диалог нажав кнопку /start
  • Однаразовый токен на вход выглядит примерно вот так: re0hcc4rIE6cYUI
  • Время действия токена = 24 часа с момента создания
  • ⚠️ Сообщение отправляется по вашему telegram id. Этот id должен быть прописан в файле settings_program.json параметр "telegram_id" (для применения изменений нужно перезапустить приложение ⚠️)
  • Получите свой "telegram_id" используя бота @getmyid_bot
    Получение уведомлений от бота в telegram
  • Id чата в который нужно отправить уведомление должен быть прописан в файле settings_program.json параметр "id_chat"
  • Получите "id_chat" нужного чата используя бота @getmyid_bot. Если нужно получить id_chat конкретного чата - нужно добавить бота @getmyid_bot в чат и он сразу пришлет id (для чата это отрицательное число). Для получения id_chat у telegram канала - перешлите любой пост с канала боту @getmyid_bot
  • (опционально) Вы можете прописать в файле настроек settings_program.json токен от своего телеграм бота. "bot_token": "",. Но токен на вход в WEB интерфейс отправляет только бот @new_hamster_bot
  • Для более гибкой настройки уведомлений вы можете прописать отдельно для каждой настройки стратегии индивидуальный чат. Раздел в настройках "tg_notification" параметр "id_chat"

hamster-bot.com
Инструкция как открыть порт в ОС Windows

После запуска исполняемого файла WEB интерфейс бота доступен в браузере локальн по адресу http://127.0.0.1:80. Если бот запущен на сервере то интерфейс будет доступен по IP адресу вашего сервера на порту из конфиг файла.


Контакты: разработчик @dreamcast2 | актуальные новости в Telegram канале | chat

Donate bitcoin address 1JjzXNVKdbPscPFMXNptgtTM9KekTiz63a
Donate USDT TRC-20 address $ TQrGSbDM2wqvRqrmZKryEZAaedDzTYEhnc