mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 09:58:22 +08:00
a7d0ca8835
Complete Docker deployment solution with beginner-friendly documentation: **New Docker Files:** - `Dockerfile` - Multi-stage Go backend build with health checks - `web/Dockerfile` - Frontend build with Nginx and API proxy - `docker-compose.yml` - Full orchestration with service dependencies - `.dockerignore` & `web/.dockerignore` - Build optimization - `start.sh` - Convenient management script (start/stop/logs/status) **Comprehensive Documentation:** - `DOCKER_DEPLOY.md` (中文) - Complete Chinese deployment guide - `DOCKER_DEPLOY.en.md` (English) - Complete English deployment guide - Prerequisites & Docker installation (macOS/Windows/Linux) - 3-step quick start (config → start → access) - Service management commands - Advanced configuration (ports, resources, env vars) - Data persistence & backups - Comprehensive troubleshooting - Security recommendations - Production deployment (Nginx, HTTPS, Docker Swarm) - Monitoring & logging setup **README Updates (All 4 Languages):** - README.md (English) - README.zh-CN.md (中文) - README.uk.md (Українська) - README.ru.md (Русский) Added prominent "Option A: Docker One-Click Deployment" section at the beginning of Quick Start in all languages. Clearly marked as EASIEST method for beginners. Shows 3 simple steps with command examples and links to detailed DOCKER_DEPLOY docs. **Key Features:** - One-command deployment: `./start.sh start --build` - Auto-handles all dependencies (Go, Node.js, TA-Lib) - Health checks for both services - Data persistence (logs, cache, config) - Log rotation (10MB × 3 files) - Easy service management - Beginner-friendly for complete newcomers **User Benefits:** - No need to install Go, Node.js, or TA-Lib manually - Works on macOS, Windows, Linux - Perfect for non-developers - Production-ready with best practices This makes NOFX truly accessible to beginners as requested: "真就让小白都能一键开始" Co-Authored-By: tinkle-community <tinklefund@gmail.com>
1046 lines
56 KiB
Markdown
1046 lines
56 KiB
Markdown
# 🤖 NOFX - AI-управляемая система автоматической торговли фьючерсами Binance
|
||
|
||
[](https://golang.org/)
|
||
[](https://reactjs.org/)
|
||
[](https://www.typescriptlang.org/)
|
||
[](LICENSE)
|
||
|
||
**Языки / Languages:** [English](README.md) | [中文](README.zh-CN.md) | [Українська](README.uk.md) | [Русский](README.ru.md)
|
||
|
||
---
|
||
|
||
Автоматизированная система торговли фьючерсами Binance на базе **DeepSeek/Qwen AI**, поддерживающая **конкуренцию нескольких AI-моделей в реальной торговле**, с полным анализом рынка, принятием решений AI, **механизмом самообучения** и профессиональным веб-интерфейсом мониторинга.
|
||
|
||
> ⚠️ **Предупреждение о рисках**: Эта система экспериментальная. Автоматическая торговля с AI несет значительные риски. Настоятельно рекомендуется использовать только для обучения/исследований или тестирования с небольшими суммами!
|
||
|
||
## 👥 Сообщество разработчиков
|
||
|
||
Присоединяйтесь к нашему сообществу разработчиков в Telegram для обсуждения, обмена идеями и получения поддержки:
|
||
|
||
**💬 [Сообщество разработчиков NOFX](https://t.me/nofx_dev_community)**
|
||
|
||
---
|
||
|
||
## ✨ Основные возможности
|
||
|
||
### 🏆 Режим конкуренции нескольких AI
|
||
- **Qwen против DeepSeek** - битва в реальной торговле
|
||
- Независимое управление счетами и журналами решений
|
||
- Графики сравнения производительности в реальном времени
|
||
- Статистика ROI и процента выигрышей
|
||
|
||
### 🧠 Механизм самообучения AI (НОВИНКА!)
|
||
- **Исторический анализ**: Анализирует последние 20 циклов торговли перед каждым решением
|
||
- **Умная оптимизация**:
|
||
- Определяет лучшие/худшие монеты по производительности
|
||
- Рассчитывает процент выигрышей, соотношение прибыли/убытка, среднюю прибыль
|
||
- Избегает повторения ошибок (последовательно убыточные монеты)
|
||
- Усиливает успешные стратегии (паттерны с высоким процентом выигрышей)
|
||
- **Динамическая корректировка**: AI автономно корректирует торговый стиль на основе исторической производительности
|
||
|
||
### 📊 Интеллектуальный анализ рынка
|
||
- **3-минутная свеча**: Цена в реальном времени, EMA20, MACD, RSI(7)
|
||
- **4-часовая свеча**: Долгосрочный тренд, EMA20/50, ATR, RSI(14)
|
||
- **Анализ открытого интереса**: Настроения рынка, определение денежных потоков
|
||
- **Отслеживание топ OI**: Топ-20 монет с самым быстрым ростом открытого интереса
|
||
- **Пул монет AI500**: Автоматический отбор монет с высоким рейтингом
|
||
- **Фильтр ликвидности**: Автоматическая фильтрация монет с низкой ликвидностью (<15M USD стоимости позиции)
|
||
|
||
### 🎯 Профессиональный контроль рисков
|
||
- **Лимит позиции по монете**:
|
||
- Альткоины ≤ 1.5x капитал счета
|
||
- BTC/ETH ≤ 10x капитал счета
|
||
- **Фиксированное плечо**: Альткоины 20x | BTC/ETH 50x
|
||
- **Управление маржой**: Общее использование ≤90%, AI принимает автономные решения
|
||
- **Соотношение риск/доход**: Обязательное ≥1:2 (стоп-лосс:тейк-профит)
|
||
- **Предотвращение накопления позиций**: Запрет дублирования открытия той же монеты/направления
|
||
|
||
### 🎨 Профессиональный UI
|
||
- **Профессиональный торговый интерфейс**: Визуальный дизайн в стиле Binance
|
||
- **Темная тема**: Классическая цветовая схема (Золотой #F0B90B + темный фон)
|
||
- **Данные в реальном времени**: Обновление каждые 5 секунд для счетов, позиций, графиков
|
||
- **Кривая капитала**: График исторического тренда стоимости счета (переключение USD/процент)
|
||
- **График сравнения производительности**: Сравнение ROI нескольких AI в реальном времени
|
||
- **Плавные анимации**: Плавные эффекты наведения, переходов и загрузки
|
||
|
||
### 📝 Полная запись решений
|
||
- **Цепочка рассуждений**: Полный процесс рассуждений AI (CoT)
|
||
- **Историческая производительность**: Общий процент выигрышей, средняя прибыль, соотношение прибыли/убытка
|
||
- **Последние сделки**: Детали последних 5 сделок (цена входа → цена выхода → P/L%)
|
||
- **Статистика по монетам**: Производительность по каждой монете (процент выигрышей, средний P/L)
|
||
- **JSON логи**: Полные записи решений для пост-анализа
|
||
|
||
---
|
||
|
||
## 💰 Регистрация аккаунта Binance (Экономьте на комиссиях!)
|
||
|
||
Перед использованием этой системы вам нужен аккаунт Binance Futures. **Используйте нашу реферальную ссылку для получения скидки на комиссии:**
|
||
|
||
**🎁 [Зарегистрироваться на Binance - Получить скидку](https://www.binance.com/join?ref=TINKLEVIP)**
|
||
|
||
### Шаги регистрации:
|
||
|
||
1. **Нажмите на ссылку выше** чтобы перейти на страницу регистрации Binance
|
||
2. **Завершите регистрацию** используя email/номер телефона
|
||
3. **Пройдите KYC верификацию** (требуется для торговли фьючерсами)
|
||
4. **Активируйте аккаунт Futures**:
|
||
- Перейдите на главную страницу Binance → Деривативы → USD-M Фьючерсы
|
||
- Нажмите "Открыть сейчас" для активации торговли фьючерсами
|
||
5. **Создайте API ключ**:
|
||
- Перейдите в Аккаунт → Управление API
|
||
- Создайте новый API ключ, **включите разрешение "Futures"**
|
||
- Сохраните API Key и Secret Key (необходимо для config.json)
|
||
- **Важно**: Добавьте свой IP адрес в белый список для безопасности
|
||
|
||
### Преимущества скидки:
|
||
|
||
- ✅ **Спотовая торговля**: Скидка до 30% на комиссии
|
||
- ✅ **Торговля фьючерсами**: Скидка до 30% на комиссии
|
||
- ✅ **Пожизненная**: Постоянная скидка на все сделки
|
||
|
||
---
|
||
|
||
## 🚀 Быстрый старт
|
||
|
||
### 🐳 Вариант A: Docker развертывание в один клик (ПРОЩЕ ВСЕГО - Рекомендуется для новичков!)
|
||
|
||
**⚡ Начните торговать за 3 простых шага с Docker - Не нужно ничего устанавливать!**
|
||
|
||
Docker автоматически обрабатывает все зависимости (Go, Node.js, TA-Lib) и настройку среды. Идеально для новичков!
|
||
|
||
#### Шаг 1: Подготовьте конфигурацию
|
||
```bash
|
||
# Скопируйте шаблон конфигурации
|
||
cp config.json.example config.json
|
||
|
||
# Отредактируйте и заполните ваши API ключи
|
||
nano config.json # или используйте любой редактор
|
||
```
|
||
|
||
#### Шаг 2: Запуск в один клик
|
||
```bash
|
||
# Вариант 1: Используйте удобный скрипт (Рекомендуется)
|
||
chmod +x start.sh
|
||
./start.sh start --build
|
||
|
||
# Вариант 2: Используйте docker-compose напрямую
|
||
docker-compose up -d --build
|
||
```
|
||
|
||
#### Шаг 3: Доступ к панели
|
||
Откройте в браузере: **http://localhost:3000**
|
||
|
||
**Вот и все! 🎉** Ваша AI торговая система теперь работает!
|
||
|
||
#### Управление вашей системой
|
||
```bash
|
||
./start.sh logs # Просмотреть логи
|
||
./start.sh status # Проверить статус
|
||
./start.sh stop # Остановить сервисы
|
||
./start.sh restart # Перезапустить сервисы
|
||
```
|
||
|
||
**📖 Подробное руководство по развертыванию Docker, устранению неполадок и расширенной конфигурации:**
|
||
- **Русский**: См. документацию Docker (скоро будет доступно)
|
||
- **English**: See [DOCKER_DEPLOY.en.md](DOCKER_DEPLOY.en.md)
|
||
- **中文**: 查看 [DOCKER_DEPLOY.md](DOCKER_DEPLOY.md)
|
||
|
||
---
|
||
|
||
### 📦 Вариант B: Ручная установка (Для разработчиков)
|
||
|
||
**Примечание**: Если вы использовали развертывание Docker выше, пропустите этот раздел. Ручная установка нужна только если вы хотите изменить код или запустить без Docker.
|
||
|
||
### 1. Требования к среде
|
||
|
||
- **Go 1.21+**
|
||
- **Node.js 18+**
|
||
- **TA-Lib** библиотека (расчет технических индикаторов)
|
||
|
||
#### Установка TA-Lib
|
||
|
||
**macOS:**
|
||
```bash
|
||
brew install ta-lib
|
||
```
|
||
|
||
**Ubuntu/Debian:**
|
||
```bash
|
||
sudo apt-get install libta-lib0-dev
|
||
```
|
||
|
||
**Другие системы**: См. [Официальную документацию TA-Lib](https://github.com/markcheno/go-talib)
|
||
|
||
### 2. Клонирование проекта
|
||
|
||
```bash
|
||
git clone https://github.com/tinkle-community/nofx.git
|
||
cd nofx
|
||
```
|
||
|
||
### 3. Установка зависимостей
|
||
|
||
**Backend:**
|
||
```bash
|
||
go mod download
|
||
```
|
||
|
||
**Frontend:**
|
||
```bash
|
||
cd web
|
||
npm install
|
||
cd ..
|
||
```
|
||
|
||
### 4. Получение AI API ключей
|
||
|
||
Перед настройкой системы вам необходимо получить AI API ключ. Выберите одного из следующих AI провайдеров:
|
||
|
||
#### Вариант 1: DeepSeek (Рекомендуется для новичков)
|
||
|
||
**Почему DeepSeek?**
|
||
- 💰 Дешевле чем GPT-4 (примерно 1/10 стоимости)
|
||
- 🚀 Быстрое время отклика
|
||
- 🎯 Отличное качество торговых решений
|
||
- 🌍 Доступен глобально без VPN
|
||
|
||
**Как получить DeepSeek API ключ:**
|
||
|
||
1. **Посетите**: [https://platform.deepseek.com](https://platform.deepseek.com)
|
||
2. **Зарегистрируйтесь**: Используя email/номер телефона
|
||
3. **Подтвердите**: Завершите подтверждение email/телефона
|
||
4. **Пополните**: Добавьте баланс на аккаунт
|
||
- Минимум: ~$5 USD
|
||
- Рекомендуется: $20-50 USD для тестирования
|
||
5. **Создайте API ключ**:
|
||
- Перейдите в раздел API Keys
|
||
- Нажмите "Создать новый ключ"
|
||
- Скопируйте и сохраните ключ (начинается с `sk-`)
|
||
- ⚠️ **Важно**: Сохраните немедленно - позже увидеть не сможете!
|
||
|
||
**Цена**: Примерно $0.14 за миллион токенов (очень дешево!)
|
||
|
||
#### Вариант 2: Qwen (Alibaba Cloud Tongyi Qianwen)
|
||
|
||
**Как получить Qwen API ключ:**
|
||
|
||
1. **Посетите**: [https://dashscope.aliyuncs.com](https://dashscope.aliyuncs.com)
|
||
2. **Зарегистрируйтесь**: Используя аккаунт Alibaba Cloud
|
||
3. **Активируйте сервис**: Активируйте DashScope сервис
|
||
4. **Создайте API ключ**:
|
||
- Перейдите в управление API ключами
|
||
- Создайте новый ключ
|
||
- Скопируйте и сохраните (начинается с `sk-`)
|
||
|
||
**Примечание**: Может потребоваться китайский номер телефона для регистрации
|
||
|
||
---
|
||
|
||
### 5. Конфигурация системы
|
||
|
||
**Доступны два режима конфигурации:**
|
||
- **🌟 Режим новичка**: Один трейдер + монеты по умолчанию (Рекомендуется!)
|
||
- **⚔️ Экспертный режим**: Конкуренция нескольких трейдеров
|
||
|
||
#### 🌟 Конфигурация режима новичка (Рекомендуется)
|
||
|
||
**Шаг 1**: Скопируйте и переименуйте файл примера конфигурации
|
||
|
||
```bash
|
||
cp config.json.example config.json
|
||
```
|
||
|
||
**Шаг 2**: Отредактируйте `config.json` и заполните ваши API ключи
|
||
|
||
```json
|
||
{
|
||
"traders": [
|
||
{
|
||
"id": "my_trader",
|
||
"name": "Мой AI Трейдер",
|
||
"ai_model": "deepseek",
|
||
"binance_api_key": "YOUR_BINANCE_API_KEY",
|
||
"binance_secret_key": "YOUR_BINANCE_SECRET_KEY",
|
||
"use_qwen": false,
|
||
"deepseek_key": "sk-xxxxxxxxxxxxx",
|
||
"qwen_key": "",
|
||
"initial_balance": 1000.0,
|
||
"scan_interval_minutes": 3
|
||
}
|
||
],
|
||
"use_default_coins": true,
|
||
"coin_pool_api_url": "",
|
||
"oi_top_api_url": "",
|
||
"api_server_port": 8080
|
||
}
|
||
```
|
||
|
||
**Шаг 3**: Замените заполнители вашими фактическими ключами
|
||
|
||
| Заполнитель | Заменить на | Где получить |
|
||
|-------------|-------------|--------------|
|
||
| `YOUR_BINANCE_API_KEY` | Ваш Binance API ключ | Binance → Аккаунт → Управление API |
|
||
| `YOUR_BINANCE_SECRET_KEY` | Ваш Binance Secret ключ | То же самое |
|
||
| `sk-xxxxxxxxxxxxx` | Ваш DeepSeek API ключ | [platform.deepseek.com](https://platform.deepseek.com) |
|
||
|
||
**Шаг 4**: Настройте начальный баланс (опционально)
|
||
|
||
- `initial_balance`: Установите ваш фактический баланс Binance Futures аккаунта
|
||
- Используется для расчета P/L процентов
|
||
- Пример: Если у вас 500 USDT, установите `"initial_balance": 500.0`
|
||
|
||
**✅ Контрольный список конфигурации:**
|
||
|
||
- [ ] Binance API ключ заполнен (без кавычек)
|
||
- [ ] Binance Secret ключ заполнен (без кавычек)
|
||
- [ ] DeepSeek API ключ заполнен (начинается с `sk-`)
|
||
- [ ] `use_default_coins` установлен в `true` (для новичков)
|
||
- [ ] `initial_balance` соответствует балансу аккаунта
|
||
- [ ] Файл сохранен как `config.json` (не `.example`)
|
||
|
||
---
|
||
|
||
#### ⚔️ Экспертный режим: Конкуренция нескольких трейдеров
|
||
|
||
Для запуска нескольких AI трейдеров, конкурирующих друг с другом:
|
||
|
||
```json
|
||
{
|
||
"traders": [
|
||
{
|
||
"id": "qwen_trader",
|
||
"name": "Qwen AI Trader",
|
||
"ai_model": "qwen",
|
||
"binance_api_key": "YOUR_BINANCE_API_KEY_1",
|
||
"binance_secret_key": "YOUR_BINANCE_SECRET_KEY_1",
|
||
"use_qwen": true,
|
||
"qwen_key": "sk-xxxxx",
|
||
"deepseek_key": "",
|
||
"initial_balance": 1000.0,
|
||
"scan_interval_minutes": 3
|
||
},
|
||
{
|
||
"id": "deepseek_trader",
|
||
"name": "DeepSeek AI Trader",
|
||
"ai_model": "deepseek",
|
||
"binance_api_key": "YOUR_BINANCE_API_KEY_2",
|
||
"binance_secret_key": "YOUR_BINANCE_SECRET_KEY_2",
|
||
"use_qwen": false,
|
||
"qwen_key": "",
|
||
"deepseek_key": "sk-xxxxx",
|
||
"initial_balance": 1000.0,
|
||
"scan_interval_minutes": 3
|
||
}
|
||
],
|
||
"use_default_coins": true,
|
||
"coin_pool_api_url": "",
|
||
"oi_top_api_url": "",
|
||
"api_server_port": 8080
|
||
}
|
||
```
|
||
|
||
**Требования для режима конкуренции:**
|
||
- 2 отдельных Binance Futures аккаунта (разные API ключи)
|
||
- Оба AI API ключа (Qwen + DeepSeek)
|
||
- Больше тестовых средств (Рекомендуется: 500+ USDT на аккаунт)
|
||
|
||
---
|
||
|
||
#### 📚 Объяснение полей конфигурации
|
||
|
||
| Поле | Описание | Пример значения | Обязательно? |
|
||
|------|----------|-----------------|--------------|
|
||
| `id` | Уникальный идентификатор для этого трейдера | `"my_trader"` | ✅ Да |
|
||
| `name` | Отображаемое имя | `"Мой AI Трейдер"` | ✅ Да |
|
||
| `ai_model` | Используемый AI провайдер | `"deepseek"` или `"qwen"` | ✅ Да |
|
||
| `binance_api_key` | Binance API ключ | `"abc123..."` | ✅ Да |
|
||
| `binance_secret_key` | Binance Secret ключ | `"xyz789..."` | ✅ Да |
|
||
| `use_qwen` | Использовать ли Qwen | `true` или `false` | ✅ Да |
|
||
| `deepseek_key` | DeepSeek API ключ | `"sk-xxx"` | Требуется при использовании DeepSeek |
|
||
| `qwen_key` | Qwen API ключ | `"sk-xxx"` | Требуется при использовании Qwen |
|
||
| `initial_balance` | Начальный баланс для расчета P/L | `1000.0` | ✅ Да |
|
||
| `scan_interval_minutes` | Частота решений (минуты) | `3` (рекомендуется 3-5) | ✅ Да |
|
||
| `use_default_coins` | Использовать встроенный список монет<br>**✨ Умное значение по умолчанию: `true`** (v2.0.2+)<br>Автоматически включается без API | `true` или опустить | ❌ Нет<br>(Опционально, авто) |
|
||
| `coin_pool_api_url` | API пользовательского пула монет<br>*Требуется только при `use_default_coins: false`* | `""` (пусто) | ❌ Нет |
|
||
| `oi_top_api_url` | API открытого интереса<br>*Опциональные дополнительные данные* | `""` (пусто) | ❌ Нет |
|
||
| `api_server_port` | Порт веб-панели | `8080` | ✅ Да |
|
||
|
||
**Монеты по умолчанию для торговли** (когда `use_default_coins: true`):
|
||
- BTC, ETH, SOL, BNB, XRP, DOGE, ADA, HYPE
|
||
|
||
---
|
||
|
||
#### ⚠️ Важно: Поле `use_default_coins`
|
||
|
||
**Умное поведение по умолчанию (v2.0.2+):**
|
||
|
||
Система теперь автоматически устанавливает `use_default_coins: true`, если:
|
||
- Вы не включили это поле в config.json, или
|
||
- Вы установили его в `false`, но не предоставили `coin_pool_api_url`
|
||
|
||
Это делает систему более дружелюбной для новичков! Вы даже можете полностью опустить это поле.
|
||
|
||
**Примеры конфигурации:**
|
||
|
||
✅ **Вариант 1: Явное указание (Рекомендуется для ясности)**
|
||
```json
|
||
"use_default_coins": true,
|
||
"coin_pool_api_url": "",
|
||
"oi_top_api_url": ""
|
||
```
|
||
|
||
✅ **Вариант 2: Опустить поле (Автоматически использует монеты по умолчанию)**
|
||
```json
|
||
// Не включать "use_default_coins" вообще
|
||
"coin_pool_api_url": "",
|
||
"oi_top_api_url": ""
|
||
```
|
||
|
||
⚙️ **Расширенное: Использовать внешний API**
|
||
```json
|
||
"use_default_coins": false,
|
||
"coin_pool_api_url": "http://your-api.com/coins",
|
||
"oi_top_api_url": "http://your-api.com/oi"
|
||
```
|
||
|
||
---
|
||
|
||
### 6. Запуск системы
|
||
|
||
#### 🚀 Запуск системы (2 шага)
|
||
|
||
Система состоит из **2 частей**, которые необходимо запустить отдельно:
|
||
1. **Backend** (AI торговый мозг + API)
|
||
2. **Frontend** (Веб-панель мониторинга)
|
||
|
||
---
|
||
|
||
#### **Шаг 1: Запустите Backend**
|
||
|
||
Откройте терминал и выполните:
|
||
|
||
```bash
|
||
# Соберите программу (первый запуск или после изменений кода)
|
||
go build -o nofx
|
||
|
||
# Запустите backend
|
||
./nofx
|
||
```
|
||
|
||
**Вы должны увидеть:**
|
||
|
||
```
|
||
🚀 Запуск системы автоматической торговли...
|
||
✓ Трейдер [my_trader] инициализирован
|
||
✓ API сервер запущен на порту 8080
|
||
📊 Начинается мониторинг торговли...
|
||
```
|
||
|
||
**⚠️ Если видите ошибки:**
|
||
|
||
| Сообщение об ошибке | Решение |
|
||
|---------------------|---------|
|
||
| `invalid API key` | Проверьте Binance API ключи в config.json |
|
||
| `TA-Lib not found` | Выполните `brew install ta-lib` (macOS) |
|
||
| `port 8080 already in use` | Измените `api_server_port` в config.json |
|
||
| `DeepSeek API error` | Проверьте DeepSeek API ключ и баланс |
|
||
|
||
**✅ Признаки работы Backend:**
|
||
- Нет сообщений об ошибках
|
||
- Появляется "Начинается мониторинг торговли..."
|
||
- Система показывает баланс аккаунта
|
||
- Держите это окно терминала открытым!
|
||
|
||
---
|
||
|
||
#### **Шаг 2: Запустите Frontend**
|
||
|
||
Откройте **новое окно терминала** (держите первое открытым!), затем:
|
||
|
||
```bash
|
||
cd web
|
||
npm run dev
|
||
```
|
||
|
||
**Вы должны увидеть:**
|
||
|
||
```
|
||
VITE v5.x.x ready in xxx ms
|
||
|
||
➜ Local: http://localhost:3000/
|
||
➜ Network: use --host to expose
|
||
```
|
||
|
||
**✅ Признаки работы Frontend:**
|
||
- Сообщение "Local: http://localhost:3000/"
|
||
- Нет сообщений об ошибках
|
||
- Также держите это окно терминала открытым!
|
||
|
||
---
|
||
|
||
#### **Шаг 3: Доступ к панели**
|
||
|
||
Откройте в веб-браузере:
|
||
|
||
**🌐 http://localhost:3000**
|
||
|
||
**Вы увидите:**
|
||
- 📊 Баланс аккаунта в реальном времени
|
||
- 📈 Позиции (если есть)
|
||
- 🤖 AI логи решений
|
||
- 📉 График капитала
|
||
|
||
**Подсказки для первого использования:**
|
||
- Первое AI решение может занять 3-5 минут
|
||
- Начальное решение может показать "наблюдение" - это нормально
|
||
- AI должен сначала проанализировать рынок
|
||
|
||
---
|
||
|
||
### 7. Мониторинг системы
|
||
|
||
**Что отслеживать:**
|
||
|
||
✅ **Признаки здоровой системы:**
|
||
- Backend терминал показывает циклы решений каждые 3-5 минут
|
||
- Нет постоянных сообщений об ошибках
|
||
- Обновляется баланс аккаунта
|
||
- Веб-панель автоматически обновляется
|
||
|
||
⚠️ **Признаки предупреждения:**
|
||
- Повторяющиеся API ошибки
|
||
- Нет решений более 10 минут
|
||
- Быстро падающий баланс
|
||
|
||
**Проверка состояния системы:**
|
||
|
||
```bash
|
||
# В новом окне терминала
|
||
curl http://localhost:8080/health
|
||
```
|
||
|
||
Должно вернуть: `{"status":"ok"}`
|
||
|
||
---
|
||
|
||
### 8. Остановка системы
|
||
|
||
**Изящное завершение (Рекомендуется):**
|
||
|
||
1. Перейдите к **Backend терминалу** (первому)
|
||
2. Нажмите `Ctrl+C`
|
||
3. Дождитесь сообщения "Система остановлена"
|
||
4. Перейдите к **Frontend терминалу** (второму)
|
||
5. Нажмите `Ctrl+C`
|
||
|
||
**⚠️ Важно:**
|
||
- Всегда останавливайте backend первым
|
||
- Дождитесь подтверждения перед закрытием терминалов
|
||
- Не принудительно завершайте (не закрывайте терминалы сразу)
|
||
|
||
---
|
||
|
||
## 📖 Процесс принятия решений AI
|
||
|
||
Каждый цикл принятия решений (по умолчанию 3 минуты), система работает по следующему процессу:
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 1. 📊 Анализ исторической производительности │
|
||
│ (последние 20 циклов) │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ ✓ Расчет общего процента выигрышей, средней прибыли, │
|
||
│ соотношения прибыли/убытка │
|
||
│ ✓ Статистика по каждой монете (процент выигрышей, │
|
||
│ средний P/L в USDT) │
|
||
│ ✓ Определение лучших/худших монет по производительности │
|
||
│ ✓ Список деталей последних 5 сделок с точным P/L │
|
||
│ ✓ Расчет коэффициента Шарпа для оценки риска │
|
||
│ 📌 НОВОЕ (v2.0.2): Точный P/L в USDT с учетом плеча │
|
||
└──────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 2. 💰 Получение состояния аккаунта │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ • Капитал аккаунта, доступный баланс, нереализованный │
|
||
│ P/L │
|
||
│ • Количество позиций, общий P/L (реализованный + │
|
||
│ нереализованный) │
|
||
│ • Использование маржи (текущее/максимальное) │
|
||
│ • Индикаторы оценки риска │
|
||
└──────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 3. 🔍 Анализ существующих позиций (если есть) │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ • Получение рыночных данных для каждой позиции │
|
||
│ (3-минутные + 4-часовые свечи) │
|
||
│ • Расчет технических индикаторов (RSI, MACD, EMA) │
|
||
│ • Отображение длительности удержания позиции │
|
||
│ (например, "удерживается 2 часа 15 минут") │
|
||
│ • AI определяет, нужно ли закрыть (тейк-профит, │
|
||
│ стоп-лосс или корректировка) │
|
||
│ 📌 НОВОЕ (v2.0.2): Отслеживание длительности позиции │
|
||
│ помогает AI решать │
|
||
└──────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 4. 🎯 Оценка новых возможностей (пул кандидатов монет) │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ • Получение топ-20 монет с высоким рейтингом AI500 │
|
||
│ • Получение топ-20 монет с самым быстрым ростом OI │
|
||
│ • Объединение, удаление дубликатов, фильтрация монет с │
|
||
│ низкой ликвидностью (OI < 15M USD) │
|
||
│ • Массовое получение рыночных данных и технических │
|
||
│ индикаторов │
|
||
│ • Подготовка полных последовательностей сырых данных │
|
||
│ для каждой монеты-кандидата │
|
||
└──────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 5. 🧠 Комплексное решение AI │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ • Просмотр исторической обратной связи (процент │
|
||
│ выигрышей, коэффициент P/L, лучшие/худшие монеты) │
|
||
│ • Получение всех данных последовательностей (свечи, │
|
||
│ индикаторы, открытый интерес) │
|
||
│ • Анализ Chain of Thought │
|
||
│ • Вывод решения: закрыть/открыть/удерживать/наблюдать │
|
||
│ • Включает параметры плеча, размера, стоп-лосса, │
|
||
│ тейк-профита │
|
||
│ 📌 НОВОЕ (v2.0.2): AI может свободно анализировать │
|
||
│ сырые последовательности, не ограничен заранее │
|
||
│ определенными индикаторами │
|
||
└──────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 6. ⚡ Исполнение сделок │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ • Приоритизация: сначала закрытие, затем открытие │
|
||
│ • Автоматическая адаптация точности (правила LOT_SIZE) │
|
||
│ • Предотвращение накопления позиций (отклонение │
|
||
│ дублирования монета/направление) │
|
||
│ • Автоматическая отмена всех ордеров после закрытия │
|
||
│ • Запись времени открытия для отслеживания │
|
||
│ длительности позиции │
|
||
│ 📌 НОВОЕ (v2.0.2): Отслеживание времени открытия │
|
||
│ позиции │
|
||
└──────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 7. 📝 Запись логов │
|
||
├──────────────────────────────────────────────────────────┤
|
||
│ • Сохранение полной записи решения в decision_logs/ │
|
||
│ • Включает цепочку рассуждений, JSON решения, снимок │
|
||
│ аккаунта, результаты исполнения │
|
||
│ • Хранение полных данных позиции (количество, плечо, │
|
||
│ время открытия/закрытия) │
|
||
│ • Использование ключей symbol_side для предотвращения │
|
||
│ конфликтов лонг/шорт │
|
||
│ 📌 НОВОЕ (v2.0.2): Предотвращение конфликтов при │
|
||
│ удержании лонг + шорт, учет количества + плеча │
|
||
└──────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Ключевые улучшения в v2.0.2
|
||
|
||
**📌 Отслеживание длительности позиции:**
|
||
- Система теперь отслеживает, как долго каждая позиция удерживается
|
||
- Отображается в промпте пользователя: "удерживается 2 часа 15 минут"
|
||
- Помогает AI принимать лучшие решения о том, когда выйти
|
||
|
||
**📌 Точный расчет P/L:**
|
||
- Ранее: Только процент (100U@5% = 1000U@5% = оба показывали "5.0")
|
||
- Теперь: Реальная прибыль в USDT = Стоимость позиции × Изменение цены × Плечо
|
||
- Пример: 1000 USDT × 5% × 20x = 1000 USDT фактической прибыли
|
||
|
||
**📌 Расширенная свобода AI:**
|
||
- AI может свободно анализировать все данные сырых последовательностей
|
||
- Больше не ограничен заранее определенными комбинациями индикаторов
|
||
- Может выполнять собственный анализ трендов, расчет поддержки/сопротивления
|
||
|
||
**📌 Улучшенное отслеживание позиций:**
|
||
- Использует ключ `symbol_side` (например, "BTCUSDT_long")
|
||
- Предотвращает конфликты при одновременном удержании лонг и шорт
|
||
- Хранит полные данные: количество, плечо, время открытия/закрытия
|
||
|
||
---
|
||
|
||
## ⚠️ Важные предупреждения о рисках
|
||
|
||
### Торговые риски
|
||
|
||
1. **Рынки криптовалют чрезвычайно волатильны**, решения AI не гарантируют прибыль
|
||
2. **Торговля фьючерсами использует плечо**, убытки могут превысить основную сумму
|
||
3. **Экстремальные рыночные условия** могут привести к ликвидации
|
||
4. **Комиссии за финансирование** могут повлиять на стоимость удержания
|
||
5. **Риск ликвидности**: Некоторые монеты могут испытывать проскальзывание
|
||
|
||
### Технические риски
|
||
|
||
1. **Задержка сети** может вызвать проскальзывание цены
|
||
2. **Лимиты API** могут повлиять на исполнение сделок
|
||
3. **Тайм-ауты AI API** могут вызвать сбои решений
|
||
4. **Системные ошибки** могут вызвать неожиданное поведение
|
||
|
||
### Рекомендации по использованию
|
||
|
||
✅ **Рекомендуется**
|
||
- Используйте только средства, потерю которых вы можете позволить для тестирования
|
||
- Начните с небольших сумм (рекомендуется 100-500 USDT)
|
||
- Регулярно проверяйте состояние работы системы
|
||
- Отслеживайте изменения баланса счета
|
||
- Анализируйте логи решений AI для понимания стратегии
|
||
|
||
❌ **Не рекомендуется**
|
||
- Инвестировать все средства или заемные деньги
|
||
- Запускать без присмотра на длительные периоды
|
||
- Слепо доверять решениям AI
|
||
- Использовать без понимания системы
|
||
- Запускать во время экстремальной волатильности рынка
|
||
|
||
---
|
||
|
||
## 🛠️ Частые проблемы
|
||
|
||
### 1. Ошибка компиляции: TA-Lib не найдена
|
||
|
||
**Решение**: Установите библиотеку TA-Lib
|
||
```bash
|
||
# macOS
|
||
brew install ta-lib
|
||
|
||
# Ubuntu
|
||
sudo apt-get install libta-lib0-dev
|
||
```
|
||
|
||
### 2. Ошибка точности: Точность превышает максимум
|
||
|
||
**Решение**: Система автоматически обрабатывает точность из Binance LOT_SIZE. Если ошибка сохраняется, проверьте сетевое подключение.
|
||
|
||
### 3. Тайм-аут AI API
|
||
|
||
**Решение**:
|
||
- Проверьте правильность API ключа
|
||
- Проверьте сетевое подключение (может потребоваться прокси)
|
||
- Тайм-аут системы установлен на 120 секунд
|
||
|
||
### 4. Frontend не может подключиться к backend
|
||
|
||
**Решение**:
|
||
- Убедитесь, что backend запущен (http://localhost:8080)
|
||
- Проверьте, не занят ли порт 8080
|
||
- Проверьте ошибки в консоли браузера
|
||
|
||
### 5. Сбой API пула монет
|
||
|
||
**Решение**:
|
||
- API пула монет опционален
|
||
- Если API не работает, система использует основные монеты по умолчанию (BTC, ETH и т.д.)
|
||
- Проверьте URL API и параметр auth в config.json
|
||
|
||
---
|
||
|
||
## 📄 Лицензия
|
||
|
||
Лицензия MIT - См. файл [LICENSE](LICENSE) для деталей
|
||
|
||
---
|
||
|
||
## 🤝 Вклад в проект
|
||
|
||
Приветствуются Issues и Pull Requests!
|
||
|
||
### Руководство по разработке
|
||
|
||
1. Сделайте Fork проекта
|
||
2. Создайте ветку функции (`git checkout -b feature/AmazingFeature`)
|
||
3. Зафиксируйте изменения (`git commit -m 'Add some AmazingFeature'`)
|
||
4. Отправьте в ветку (`git push origin feature/AmazingFeature`)
|
||
5. Откройте Pull Request
|
||
|
||
---
|
||
|
||
## 📬 Контакты
|
||
|
||
- **Twitter/X**: [@Web3Tinkle](https://x.com/Web3Tinkle)
|
||
- **GitHub Issues**: [Создать Issue](https://github.com/tinkle-community/nofx/issues)
|
||
|
||
---
|
||
|
||
## 🙏 Благодарности
|
||
|
||
- [Binance API](https://binance-docs.github.io/apidocs/futures/en/) - Binance Futures API
|
||
- [DeepSeek](https://platform.deepseek.com/) - DeepSeek AI API
|
||
- [Qwen](https://dashscope.aliyuncs.com/) - Alibaba Cloud Qwen
|
||
- [TA-Lib](https://ta-lib.org/) - Библиотека технических индикаторов
|
||
- [Recharts](https://recharts.org/) - Библиотека графиков React
|
||
|
||
---
|
||
|
||
## 🔄 История изменений
|
||
|
||
```json
|
||
{
|
||
"traders": [
|
||
{
|
||
"id": "qwen_trader",
|
||
"name": "Qwen AI Trader",
|
||
"ai_model": "qwen",
|
||
"binance_api_key": "ВАШ_BINANCE_API_KEY",
|
||
"binance_secret_key": "ВАШ_BINANCE_SECRET_KEY",
|
||
"use_qwen": true,
|
||
"qwen_key": "sk-xxxxx",
|
||
"scan_interval_minutes": 3,
|
||
"initial_balance": 1000.0
|
||
},
|
||
{
|
||
"id": "deepseek_trader",
|
||
"name": "DeepSeek AI Trader",
|
||
"ai_model": "deepseek",
|
||
"binance_api_key": "ВАШ_BINANCE_API_KEY_2",
|
||
"binance_secret_key": "ВАШ_BINANCE_SECRET_KEY_2",
|
||
"use_qwen": false,
|
||
"deepseek_key": "sk-xxxxx",
|
||
"scan_interval_minutes": 3,
|
||
"initial_balance": 1000.0
|
||
}
|
||
],
|
||
"use_default_coins": false,
|
||
"coin_pool_api_url": "http://x.x.x.x:xxx/api/ai500/list?auth=ВАШ_AUTH",
|
||
"oi_top_api_url": "http://x.x.x.x:xxx/api/oi/top?auth=ВАШ_AUTH",
|
||
"api_server_port": 8080
|
||
}
|
||
```
|
||
|
||
**Примечания к конфигурации:**
|
||
- `traders`: Настройте 1-N трейдеров (один AI или соревнование нескольких AI)
|
||
- `id`: Уникальный идентификатор трейдера (используется для директории логов)
|
||
- `ai_model`: "qwen" или "deepseek"
|
||
- `binance_api_key/secret_key`: Каждый трейдер использует независимый аккаунт Binance
|
||
- `initial_balance`: Начальный баланс (для расчета P/L%)
|
||
- `scan_interval_minutes`: Цикл принятия решений (рекомендуется 3-5 минут)
|
||
- `use_default_coins`: **true** = Использовать 8 основных монет по умолчанию | **false** = Использовать API пул монет (рекомендуется для новичков: true)
|
||
- `coin_pool_api_url`: API пула монет AI500 (опционально, игнорируется при use_default_coins=true)
|
||
- `oi_top_api_url`: API открытого интереса OI Top (опционально, если пусто, данные OI Top пропускаются)
|
||
|
||
**Список монет по умолчанию** (когда `use_default_coins: true`):
|
||
- BTC, ETH, SOL, BNB, XRP, DOGE, ADA, HYPE
|
||
|
||
### 5. Запуск системы
|
||
|
||
**Запуск backend (система AI торговли + API сервер):**
|
||
|
||
```bash
|
||
go build -o nofx
|
||
./nofx
|
||
```
|
||
|
||
**Запуск frontend (веб-панель):**
|
||
|
||
Откройте новый терминал:
|
||
|
||
```bash
|
||
cd web
|
||
npm run dev
|
||
```
|
||
|
||
**Доступ к интерфейсу:**
|
||
```
|
||
Веб-панель: http://localhost:3000
|
||
API сервер: http://localhost:8080
|
||
```
|
||
|
||
### 6. Остановка системы
|
||
|
||
Нажмите `Ctrl+C` в обоих терминалах
|
||
|
||
---
|
||
|
||
## ⚠️ Важные предупреждения о рисках
|
||
|
||
### Торговые риски
|
||
|
||
1. **Рынки криптовалют чрезвычайно волатильны**, решения AI не гарантируют прибыль
|
||
2. **Торговля фьючерсами использует плечо**, убытки могут превысить основную сумму
|
||
3. **Экстремальные рыночные условия** могут привести к ликвидации
|
||
4. **Комиссии за финансирование** могут повлиять на стоимость удержания
|
||
5. **Риск ликвидности**: Некоторые монеты могут испытывать проскальзывание
|
||
|
||
### Технические риски
|
||
|
||
1. **Задержка сети** может вызвать проскальзывание цены
|
||
2. **Лимиты API** могут повлиять на исполнение сделок
|
||
3. **Тайм-ауты AI API** могут вызвать сбои решений
|
||
4. **Системные ошибки** могут вызвать неожиданное поведение
|
||
|
||
### Рекомендации по использованию
|
||
|
||
✅ **Рекомендуется**
|
||
- Используйте только средства, потерю которых вы можете позволить для тестирования
|
||
- Начните с небольших сумм (рекомендуется 100-500 USDT)
|
||
- Регулярно проверяйте состояние работы системы
|
||
- Отслеживайте изменения баланса счета
|
||
- Анализируйте логи решений AI для понимания стратегии
|
||
|
||
❌ **Не рекомендуется**
|
||
- Инвестировать все средства или заемные деньги
|
||
- Запускать без присмотра на длительные периоды
|
||
- Слепо доверять решениям AI
|
||
- Использовать без понимания системы
|
||
- Запускать во время экстремальной волатильности рынка
|
||
|
||
---
|
||
|
||
## 🛠️ Частые проблемы
|
||
|
||
### 1. Ошибка компиляции: TA-Lib не найдена
|
||
|
||
**Решение**: Установите библиотеку TA-Lib
|
||
```bash
|
||
# macOS
|
||
brew install ta-lib
|
||
|
||
# Ubuntu
|
||
sudo apt-get install libta-lib0-dev
|
||
```
|
||
|
||
### 2. Ошибка точности: Точность превышает максимум
|
||
|
||
**Решение**: Система автоматически обрабатывает точность из Binance LOT_SIZE. Если ошибка сохраняется, проверьте сетевое подключение.
|
||
|
||
### 3. Тайм-аут AI API
|
||
|
||
**Решение**:
|
||
- Проверьте правильность API ключа
|
||
- Проверьте сетевое подключение (может потребоваться прокси)
|
||
- Тайм-аут системы установлен на 120 секунд
|
||
|
||
### 4. Frontend не может подключиться к backend
|
||
|
||
**Решение**:
|
||
- Убедитесь, что backend запущен (http://localhost:8080)
|
||
- Проверьте, не занят ли порт 8080
|
||
- Проверьте ошибки в консоли браузера
|
||
|
||
### 5. Сбой API пула монет
|
||
|
||
**Решение**:
|
||
- API пула монет опционален
|
||
- Если API не работает, система использует основные монеты по умолчанию (BTC, ETH и т.д.)
|
||
- Проверьте URL API и параметр auth в config.json
|
||
|
||
---
|
||
|
||
## 📄 Лицензия
|
||
|
||
Лицензия MIT - См. файл [LICENSE](LICENSE) для деталей
|
||
|
||
---
|
||
|
||
## 🤝 Вклад в проект
|
||
|
||
Приветствуются Issues и Pull Requests!
|
||
|
||
### Руководство по разработке
|
||
|
||
1. Сделайте Fork проекта
|
||
2. Создайте ветку функции (`git checkout -b feature/AmazingFeature`)
|
||
3. Зафиксируйте изменения (`git commit -m 'Add some AmazingFeature'`)
|
||
4. Отправьте в ветку (`git push origin feature/AmazingFeature`)
|
||
5. Откройте Pull Request
|
||
|
||
---
|
||
|
||
## 📬 Контакты
|
||
|
||
- **Twitter/X**: [@Web3Tinkle](https://x.com/Web3Tinkle)
|
||
- **GitHub Issues**: [Создать Issue](https://github.com/tinkle-community/nofx/issues)
|
||
|
||
---
|
||
|
||
## 🙏 Благодарности
|
||
|
||
- [Binance API](https://binance-docs.github.io/apidocs/futures/en/) - Binance Futures API
|
||
- [DeepSeek](https://platform.deepseek.com/) - DeepSeek AI API
|
||
- [Qwen](https://dashscope.aliyuncs.com/) - Alibaba Cloud Qwen
|
||
- [TA-Lib](https://ta-lib.org/) - Библиотека технических индикаторов
|
||
- [Recharts](https://recharts.org/) - Библиотека графиков React
|
||
|
||
---
|
||
|
||
## 🔄 История изменений
|
||
|
||
### v2.0.2 (2025-10-29)
|
||
|
||
**Критические исправления ошибок - История сделок и анализ производительности:**
|
||
|
||
Эта версия исправляет **критические ошибки расчета** в системе исторических записей сделок и анализа производительности, которые значительно влияли на статистику прибыльности.
|
||
|
||
**1. Расчет P/L - Исправление крупной ошибки** (logger/decision_logger.go)
|
||
- **Проблема**: Ранее P/L рассчитывался только как процент, полностью игнорируя размер позиции и плечо
|
||
- Пример: Позиция 100 USDT с доходом 5% и позиция 1000 USDT с доходом 5% обе показывали `5.0` как прибыль
|
||
- Это делало анализ производительности полностью неточным
|
||
- **Решение**: Теперь рассчитывается фактическая прибыль в USDT
|
||
```
|
||
P/L (USDT) = Стоимость позиции × Изменение цены % × Плечо
|
||
Пример: 1000 USDT × 5% × 20x = 1000 USDT фактической прибыли
|
||
```
|
||
- **Влияние**: Процент выигрышей, коэффициент прибыли и коэффициент Шарпа теперь основаны на точных суммах USDT
|
||
|
||
**2. Отслеживание позиций - Отсутствие критических данных**
|
||
- **Проблема**: Записи открытых позиций хранили только цену и время, пропуская количество и плечо
|
||
- **Решение**: Теперь хранит полные торговые данные:
|
||
- `quantity`: Размер позиции (в монетах)
|
||
- `leverage`: Множитель плеча (например, 20x)
|
||
- Эти данные необходимы для точного расчета P/L
|
||
|
||
**3. Логика ключа позиции - Конфликт Long/Short**
|
||
- **Проблема**: Использовался `symbol` как ключ позиции, что вызывало конфликты данных при одновременном удержании лонгов и шортов
|
||
- Пример: BTCUSDT лонг и BTCUSDT шорт перезаписывали друг друга
|
||
- **Решение**: Изменено на формат `symbol_side` (например, `BTCUSDT_long`, `BTCUSDT_short`)
|
||
- Теперь правильно различает лонг и шорт позиции
|
||
|
||
**4. Расчет коэффициента Шарпа - Оптимизация кода**
|
||
- **Проблема**: Использовался пользовательский метод Ньютона для расчета квадратного корня
|
||
- **Решение**: Заменен на стандартную библиотеку `math.Sqrt`
|
||
- Более надежный, поддерживаемый и эффективный
|
||
|
||
**Почему это обновление важно:**
|
||
- ✅ Историческая статистика сделок теперь показывает **реальную прибыль/убыток в USDT** вместо бессмысленных процентов
|
||
- ✅ Сравнение производительности между сделками с разным плечом теперь точно
|
||
- ✅ Механизм самообучения AI получает правильную историческую обратную связь
|
||
- ✅ Расчеты коэффициента прибыли и коэффициента Шарпа теперь имеют смысл
|
||
- ✅ Отслеживание нескольких позиций (лонг + шорт одновременно) теперь работает правильно
|
||
|
||
**Рекомендация**: Если вы запускали систему до этого обновления, ваша историческая статистика была неточной. После обновления до v2.0.2, новые сделки будут рассчитываться правильно.
|
||
|
||
### v2.0.1 (2025-10-29)
|
||
|
||
**Исправления ошибок:**
|
||
- ✅ Исправлена логика обработки данных ComparisonChart - переход от группировки по cycle_number к timestamp
|
||
- ✅ Решена проблема замораживания графика при перезапуске backend и сбросе cycle_number
|
||
- ✅ Улучшено отображение данных графика - теперь показывает все исторические точки в хронологическом порядке
|
||
- ✅ Улучшенные отладочные логи для лучшей диагностики
|
||
|
||
### v2.0.0 (2025-10-28)
|
||
|
||
**Основные обновления:**
|
||
- ✅ Механизм самообучения AI (исторический анализ, анализ производительности)
|
||
- ✅ Режим конкуренции нескольких трейдеров (Qwen vs DeepSeek)
|
||
- ✅ UI в стиле Binance (полная имитация интерфейса Binance)
|
||
- ✅ Графики сравнения производительности (сравнение ROI в реальном времени)
|
||
- ✅ Оптимизация контроля рисков (корректировка лимита позиции по монетам)
|
||
|
||
---
|
||
|
||
**Последнее обновление**: 2025-10-29 (v2.0.2)
|
||
|
||
**⚡ Исследуйте возможности количественной торговли с силой AI!**
|
||
|
||
---
|
||
|
||
## ⭐ Star History
|
||
|
||
[](https://star-history.com/#tinkle-community/nofx&Date)
|