Initial import: grid-bot — grid trading bot for BTC-USDT on Cifra Markets
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# Grid Trading Bot — Tradernet / Cifra.by
|
||||
|
||||
Grid-торговый робот для криптобиржи через платформу Cifra.by (Tradernet API).
|
||||
|
||||
## Установка
|
||||
|
||||
```bash
|
||||
cd /root/grid-bot
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Настройка
|
||||
|
||||
1. Скопировать `.env.example` → `.env`
|
||||
2. Заполнить ключи API:
|
||||
|
||||
```bash
|
||||
TRADERNET_PUBLIC_KEY=ваш_публичный_ключ
|
||||
TRADERNET_PRIVATE_KEY=ваш_приватный_ключ
|
||||
```
|
||||
|
||||
**Как получить ключи:**
|
||||
1. Зарегистрироваться на [cifra.by](https://cifra.by)
|
||||
2. Открыть счёт → перенаправляет на [tradernet.by](https://tradernet.by)
|
||||
3. Настройки → API-ключи → создать пару
|
||||
|
||||
## Запуск
|
||||
|
||||
```bash
|
||||
# Dry-run (без реальных ордеров)
|
||||
python main.py --dry-run
|
||||
|
||||
# Один цикл (для тестирования)
|
||||
python main.py --once
|
||||
|
||||
# Production
|
||||
python main.py
|
||||
```
|
||||
|
||||
## Systemd (автозапуск)
|
||||
|
||||
```bash
|
||||
cp grid-bot.service /etc/systemd/system/
|
||||
systemctl daemon-reload
|
||||
systemctl enable grid-bot
|
||||
systemctl start grid-bot
|
||||
systemctl status grid-bot
|
||||
```
|
||||
|
||||
## Структура файлов
|
||||
|
||||
```
|
||||
grid-bot/
|
||||
├── config.py # Параметры торговли
|
||||
├── api.py # Обёртка Tradernet API
|
||||
├── grid.py # Логика сетки
|
||||
├── main.py # Точка входа
|
||||
├── requirements.txt
|
||||
├── .env.example # Шаблон переменных окружения
|
||||
└── grid-bot.service # systemd unit
|
||||
```
|
||||
|
||||
## Параметры (config.py)
|
||||
|
||||
| Параметр | По умолчанию | Описание |
|
||||
|---|---|---|
|
||||
| `SYMBOL` | BTC | Торгуемая пара |
|
||||
| `GRID_LEVELS` | 10 | Количество уровней сетки |
|
||||
| `GRID_STEP_PERCENT` | 0.3 | Шаг сетки (% от цены) |
|
||||
| `ORDER_AMOUNT_USD` | 100 | Объём каждого ордера (USD) |
|
||||
| `MAX_POSITION` | 1000 | Макс. позиция в USD |
|
||||
| `UPDATE_INTERVAL_SECONDS` | 30 | Частота цикла |
|
||||
| `TRADING_ENABLED` | True | False = dry-run |
|
||||
|
||||
## Как работает grid
|
||||
|
||||
```
|
||||
Цена BTC = $67,500
|
||||
|
||||
Сетка (шаг 0.3% = $202.50):
|
||||
BUY @ $66,600 ← уровень -4
|
||||
BUY @ $66,802 ← уровень -3
|
||||
BUY @ $67,005 ← уровень -2
|
||||
BUY @ $67,208 ← уровень -1
|
||||
───────────────────────── center (не выставляем)
|
||||
SELL @ $67,612 ← уровень +1
|
||||
SELL @ $67,815 ← уровень +2
|
||||
SELL @ $68,018 ← уровень +3
|
||||
SELL @ $68,220 ← уровень +4
|
||||
|
||||
BUY исполняется → выставляем SELL на уровень выше
|
||||
SELL исполняется → выставляем BUY на уровень ниже
|
||||
|
||||
Каждый round-trip = profit = шаг_сетки × количество
|
||||
```
|
||||
|
||||
## Telegram-уведомления
|
||||
|
||||
```bash
|
||||
TELEGRAM_BOT_TOKEN=... # через @BotFather
|
||||
TELEGRAM_CHAT_ID=... # через @userinfobot
|
||||
```
|
||||
|
||||
## Важно
|
||||
|
||||
⚠️ **Всегда тестируйте в dry-run режиме перед реальной торговлей.**
|
||||
⚠️ **Инвестируйте только те средства, которые готовы потерять.**
|
||||
Reference in New Issue
Block a user