mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-10 14:27:00 +08:00
Docs: Enhance README files with beginner-friendly guides (4 languages)
**Configuration Improvements:** - Add comprehensive "Get AI API Keys" section (DeepSeek + Qwen) - Split configuration into Beginner Mode and Expert Mode - Add step-by-step setup guides with placeholder tables - Add configuration checklist and field explanations - Document smart default behavior for use_default_coins (v2.0.2) **Startup/Monitoring Guides:** - Add detailed 2-step system startup instructions - Include expected output and error troubleshooting tables - Add monitoring and graceful shutdown procedures - Provide health check commands **AI Decision Flow Updates:** - Enhance flow diagram with emojis and wider boxes - Add v2.0.2 improvement markers throughout - Document position duration tracking - Document accurate USDT PnL calculation with leverage - Document enhanced AI freedom for raw data analysis - Document improved position tracking (symbol_side keys) - Add "Key Improvements in v2.0.2" summary section **Code Changes:** - Simplify config.json.example to beginner-friendly single trader - Implement smart default: use_default_coins auto-enables when omitted - Set default to true if false without coin_pool_api_url **Files Updated:** - README.md (English): +559 lines - README.zh-CN.md (Chinese): +527 lines - README.ru.md (Russian): +634 lines - README.uk.md (Ukrainian): +521 lines - config.json.example: Simplified configuration - config/config.go: Smart default logic Total: 2068+ additions across all documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
634
README.ru.md
634
README.ru.md
@@ -143,9 +143,593 @@ npm install
|
||||
cd ..
|
||||
```
|
||||
|
||||
### 4. Конфигурация системы
|
||||
### 4. Получение AI API ключей
|
||||
|
||||
Создайте файл `config.json` (используйте `config.json.example` как шаблон):
|
||||
Перед настройкой системы вам необходимо получить 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
|
||||
{
|
||||
@@ -338,6 +922,50 @@ sudo apt-get install libta-lib0-dev
|
||||
|
||||
## 🔄 История изменений
|
||||
|
||||
### 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)
|
||||
|
||||
**Исправления ошибок:**
|
||||
@@ -357,7 +985,7 @@ sudo apt-get install libta-lib0-dev
|
||||
|
||||
---
|
||||
|
||||
**Последнее обновление**: 2025-10-29
|
||||
**Последнее обновление**: 2025-10-29 (v2.0.2)
|
||||
|
||||
**⚡ Исследуйте возможности количественной торговли с силой AI!**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user