Skip to content

sspoisk/rubot

Repository files navigation

Scalper Bot Suite Добро пожаловать в репозиторий набора инструментов для криптовалютного скальпинга. Проект состоит из двух независимых серверов, которые помогают тестировать, оптимизировать и запускать торговые стратегии на базе Binance.

Что это? Python-агент (agent_channel.py) – простой HTTP-сервер с веб-панелью (dashboard.html), который собирает данные, проводит бэктестинг по стратегии каналов Дончиана, оптимизирует параметры и ведёт бумажную торговлю. Работает на встроенном http.server, без сложных зависимостей. Создан для Windows 7 и Python 3.8.

Node.js-сервер (server.js) – полноценный мост к Binance (включая testnet) с веб-интерфейсом direct_trader_win7.html. Позволяет загружать до 50 000 баров истории, запускать бэктесты с реалистичным расчётом PnL в USDT (с учётом комиссий и риска), а также вести бумажную или реальную торговлю с установкой стоп-лосса и тейк-профита. Поддерживает автоматический подбор параметров (EMA, Donchian, RSI) с адаптивным перебором для слабых машин.

Оба сервера ориентированы на работу в старых средах (Windows 7) и используют только проверенные технологии (XHR, минималистичный фронтенд).

Основные возможности Универсум торговых пар – сбор ликвидных пар по объёму 24ч с Binance.

Бэктестинг – проверка стратегии на истории с расчётом профит-фактора, просадки, количества сделок.

Оптимизация – перебор параметров канала Дончиана (или комбинации EMA, RSI) для поиска лучшего набора по выбранной метрике.

Бумажная торговля – эмуляция сделок с учётом депозита, риска на сделку, комиссий.

Реальная торговля – отправка рыночных ордеров на Binance (требуется ALLOW_REAL=true и ключи API).

Автотюнинг (в Node-версии) – подбор параметров трёх стратегий (EMA, Donchian, RSI) с голосованием; оптимизация порциями, не вешая интерфейс.

Визуализация – отрисовка графика цены, входов/выходов, линий TP/SL.

Логирование – сохранение сделок в CSV, состояния в JSON.

Состав проекта agent_channel.py – основной Python-сервер.

dashboard.html – веб-интерфейс для Python-агента.

server.js – Node.js-сервер для прямой работы с Binance.

direct_trader_win7.html – веб-интерфейс для Node-сервера.

config.json, settings.json – примеры конфигурации.

state.json, paper_state.json, live_state.json – файлы состояния (создаются автоматически).

trades_paper.csv, trades_real.csv – логи сделок.

package.json, package-lock.json – зависимости Node.js.

start_agent.bat – батник для запуска Python-агента.

Требования Python-агент Python 3.8 (или любой 3.x)

Модуль requests (устанавливается через pip install requests)

Node.js-сервер Node.js 12+ (тестировалось на 12,14,16)

npm для установки зависимостей

Установка и запуск Python-агент Убедитесь, что установлен Python и requests:

bash pip install requests Запустите сервер:

bash python agent_channel.py Или двойным щелчком по start_agent.bat.

Откройте браузер по адресу http://127.0.0.1:8080. Появится панель управления (вкладки Live, Данные, Оптимизация, Настройки).

Node.js-сервер Перейдите в папку проекта, установите зависимости:

bash npm install Создайте файл .env (пример):

text PORT=3000 TESTNET=true BINANCE_API_KEY=ваш_ключ BINANCE_API_SECRET=ваш_секрет ALLOW_REAL=false Запустите сервер:

bash npm start Откройте в браузере http://127.0.0.1:3000/direct_trader_win7.html (или переименуйте файл в index.html для удобства). Либо используйте любой локальный сервер для раздачи статики.

Использование Через Python-агент Live – запуск/остановка цикла, просмотр логов.

Данные – пересобрать список ликвидных пар, загрузить историю (1–2 дня свечей 1m).

Оптимизация – запустить подбор параметров Donchian, просмотреть лучшие профили, включить топ-40 в Live.

Настройки – изменить параметры стратегии, риск-менеджмент, общие настройки.

Через Node.js-сервер Выберите торговую пару, таймфрейм, количество баров для бэктеста.

Настройте стратегии A, B, C (каждая может быть EMA, Donchian, RSI или выключена). Укажите параметры (периоды, уровни RSI, порог голосования).

Задайте SL/TP в %, размер депозита, риск на сделку, комиссию.

Нажмите Backtest – выполнится расчёт с реальными деньгами (USDT), отобразится график и таблица сделок.

Для автотюнинга отметьте "Auto-Tune" и настройте диапазоны перебора, затем Optimize. Оптимизация идёт порциями, не блокируя интерфейс.

Start LIVE – запускает получение цены каждые 1.5 секунды и бумажную торговлю (или реальную, если включено). Кнопки BUY/CLOSE для ручного открытия/закрытия реальной позиции.

API (кратко) Python-агент (порт 8080) GET /api/status – состояние сервера.

POST /api/action – старт/стоп ({"action":"start"}).

POST /api/universe/rebuild – пересобрать универсум.

POST /api/backfill – загрузить историю ({"days":1}).

POST /api/optimize – запустить оптимизацию ({"days":1}).

GET /api/profiles – результаты оптимизации.

POST /api/config – обновить конфиг.

Node.js-сервер (порт 3000) GET /api/klines_range?symbol=BTCUSDT&interval=1m&limit=50000 – до 50000 свечей.

GET /api/ticker?symbol=BTCUSDT – текущая цена.

POST /api/order – реальный ордер (если разрешено).

POST /api/live/open – открыть позицию (реальную).

POST /api/live/close – закрыть позицию.

POST /api/live/guard – проверка TP/SL для открытой позиции.

GET /api/live/state – состояние живой позиции.

Конфигурация Python-агент Основные настройки хранятся в STATE['config'] и могут быть изменены через POST /api/config. Пример config.json в репозитории.

Node.js-сервер Параметры задаются через .env:

PORT – порт сервера.

TESTNET – использовать testnet (true/false).

BINANCE_API_KEY, BINANCE_API_SECRET – ключи Binance.

ALLOW_REAL – разрешить реальную торговлю (true/false; по умолчанию false).

Примечания Проект создавался для работы в Windows 7, но должен запускаться и на более новых системах.

Вся бумажная торговля ведётся в памяти и сохраняется в JSON-файлах. При перезапуске состояние восстанавливается.

Реальная торговля требует осторожности – включайте ALLOW_REAL только на свой страх и риск, предварительно протестировав на testnet.

Для корректной работы Node-сервера с большими объёмами истории убедитесь, что ваш компьютер выдерживает нагрузку (оптимизация использует setTimeout для разбиения на куски).

Вклад Если вы нашли ошибку или хотите улучшить проект, создавайте issue или pull request. Будем рады помощи!

Удачной торговли! 📈

About

Scalper bot suite: Python-агент для скальпинга с каналами Дончиана (бэктест, оптимизация параметров, веб-панель) и Node.js-сервер для бумажной/реальной торговли через Binance (USDT PnL, TP/SL, автонастройка). Работает на Windows 7 (Python 3.8, Node.js).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors