Files
nofx/docs/i18n/ru/README.md
T
icy 7d58f56e49 feat: implement hybrid database architecture and frontend encryption
- Add PostgreSQL + SQLite hybrid database support with automatic switching
- Implement frontend AES-GCM + RSA-OAEP encryption for sensitive data
- Add comprehensive DatabaseInterface with all required methods
- Fix compilation issues with interface consistency
- Update all database method signatures to use DatabaseInterface
- Add missing UpdateTraderInitialBalance method to PostgreSQL implementation
- Integrate RSA public key distribution via /api/config endpoint
- Add frontend crypto service with proper error handling
- Support graceful degradation between encrypted and plaintext transmission
- Add directory creation for RSA keys and PEM parsing fixes
- Test both SQLite and PostgreSQL modes successfully
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: tinkle-community <tinklefund@gmail.com>
2025-11-06 01:50:06 +08:00

1132 lines
60 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🤖 NOFX - Agentic Trading OS
[![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat&logo=go)](https://golang.org/)
[![React](https://img.shields.io/badge/React-18+-61DAFB?style=flat&logo=react)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?style=flat&logo=typescript)](https://www.typescriptlang.org/)
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE)
[![Backed by Amber.ac](https://img.shields.io/badge/Backed%20by-Amber.ac-orange.svg)](https://amber.ac)
**Языки / Languages:** [English](../../../README.md) | [中文](../zh-CN/README.md) | [Українська](../uk/README.md) | [Русский](../ru/README.md)
**Официальный Twitter:** [@nofx_ai](https://x.com/nofx_ai)
**📚 Документация:** [Главная](../../README.md) | [Начало работы](../../getting-started/README.md) | [Журнал изменений](../../../CHANGELOG.zh-CN.md) | [Сообщество](../../community/README.md)
---
## 📑 Содержание
- [🚀 Универсальная AI Торговая Операционная Система](#-универсальная-ai-торговая-операционная-система)
- [👥 Сообщество Разработчиков](#-сообщество-разработчиков)
- [🆕 Что Нового](#-что-нового)
- [📸 Скриншоты](#-скриншоты)
- [✨ Текущая Реализация - Криптовалютные Рынки](#-текущая-реализация---криптовалютные-рынки)
- [🔮 Дорожная Карта](#-дорожная-карта---расширение-на-универсальные-рынки)
- [🏗️ Техническая Архитектура](#️-техническая-архитектура)
- [🚀 Быстрый Старт](#-быстрый-старт)
- [📊 Функции Web-интерфейса](#-функции-web-интерфейса)
- [⚠️ Важные Предупреждения о Рисках](#️-важные-предупреждения-о-рисках)
- [🛠️ Общие Проблемы](#-общие-проблемы)
- [🔄 Журнал Изменений](#-журнал-изменений)
---
## 🚀 Универсальная AI Торговая Операционная Система
**NOFX** - это **универсальная Agentic Trading OS**, построенная на единой архитектуре. Мы успешно замкнули цикл на криптовалютных рынках: **"Решение Multi-Agent → Единый Контроль Рисков → Исполнение с Низкой Задержкой → Бэктестинг Реальных/Бумажных Счетов"**, и сейчас расширяем этот же технологический стек на **акции, фьючерсы, опционы, форекс и все финансовые рынки**.
### 🎯 Основные Возможности
- **Универсальный Слой Данных и Бэктестинга**: Кросс-рыночное, кросс-таймфреймовое, кросс-биржевое единое представление и библиотека факторов, накапливающая переносимую "память стратегий"
- **Multi-Agent Самоигра и Самоэволюция**: Стратегии автоматически конкурируют и выбирают лучшие, непрерывно итерируясь на основе PnL на уровне счета и ограничений рисков
- **Интегрированное Исполнение и Контроль Рисков**: Маршрутизация с низкой задержкой, песочница проскальзывания/контроля рисков, лимиты на уровне счета, переключение рынков одним кликом
### 🏢 При поддержке [Amber.ac](https://amber.ac)
### 👥 Основная Команда
- **Tinkle** - [@Web3Tinkle](https://x.com/Web3Tinkle)
- **Zack** - [@0x_ZackH](https://x.com/0x_ZackH)
### 💼 Открыт Посевной Раунд Финансирования
Мы в настоящее время привлекаем **посевной раунд**.
**По вопросам инвестиций**, пишите в DM **Tinkle** или **Zack** в Twitter.
**По вопросам партнерства и сотрудничества**, пишите в DM нашего официального Twitter [@nofx_ai](https://x.com/nofx_ai).
---
> ⚠️ **Предупреждение о рисках**: Эта система экспериментальная. Автоматическая торговля с AI несет значительные риски. Настоятельно рекомендуется использовать только для обучения/исследований или тестирования с небольшими суммами!
## 👥 Сообщество разработчиков
Присоединяйтесь к нашему сообществу разработчиков в Telegram для обсуждения, обмена идеями и получения поддержки:
**💬 [Сообщество разработчиков NOFX](https://t.me/nofx_dev_community)**
---
## 🆕 Последние обновления
### 🚀 Поддержка нескольких бирж!
NOFX теперь поддерживает **три основные биржи**: Binance, Hyperliquid и Aster DEX!
#### **Биржа Hyperliquid**
Высокопроизводительная децентрализованная биржа бессрочных фьючерсов!
**Ключевые особенности:**
- ✅ Полная поддержка торговли (лонг/шорт, плечо, стоп-лосс/тейк-профит)
- ✅ Автоматическая обработка точности (размер и цена ордера)
- ✅ Единый интерфейс трейдера (бесшовное переключение бирж)
- ✅ Поддержка мейннета и тестнета
- ✅ Не нужны API ключи - только приватный ключ Ethereum
**Почему Hyperliquid?**
- 🔥 Более низкие комиссии чем на централизованных биржах
- 🔒 Без хранения - вы контролируете свои средства
- ⚡ Быстрое исполнение с расчетом на цепи
- 🌍 Не нужна KYC
**Быстрый старт:**
1. Получите приватный ключ MetaMask (удалите префикс `0x`)
2. ~~Установите `"exchange": "hyperliquid"` в config.json~~ *Настройте через веб-интерфейс*
3. Добавьте `"hyperliquid_private_key": "your_key"`
4. Начните торговать!
См. [Руководство по конфигурации](#-альтернатива-использование-биржи-hyperliquid).
#### **Биржа Aster DEX** (НОВОЕ! v2.0.2)
Децентрализованная биржа бессрочных фьючерсов, совместимая с Binance!
**Ключевые особенности:**
- ✅ API в стиле Binance (легкая миграция с Binance)
- ✅ Web3 аутентификация кошелька (безопасно и децентрализованно)
- ✅ Полная поддержка торговли с автоматической обработкой точности
- ✅ Более низкие комиссии за торговлю чем CEX
- ✅ Совместимость с EVM (Ethereum, BSC, Polygon и т.д.)
**Почему Aster?**
- 🎯 **API совместимый с Binance** - нужны минимальные изменения кода
- 🔐 **Система API кошелька** - отдельный торговый кошелек для безопасности
- 💰 **Конкурентные комиссии** - ниже чем большинство централизованных бирж
- 🌐 **Поддержка нескольких цепей** - торгуйте на вашей любимой EVM цепи
**Быстрый старт:**
1. Зарегистрируйтесь по [реферальной ссылке Aster](https://www.asterdex.com/en/referral/fdfc0e) (получите скидку на комиссии!)
2. Посетите [Aster API Wallet](https://www.asterdex.com/en/api-wallet)
3. Подключите основной кошелек и создайте API кошелек
4. Скопируйте адрес API Signer и приватный ключ
5. Установите `"exchange": "aster"` в config.json
6. Добавьте `"aster_user"`, `"aster_signer"` и `"aster_private_key"`
---
## 📸 Скриншоты
### 🏆 Режим конкуренции - Битва AI в реальном времени
![Страница конкуренции](../../../screenshots/competition-page.png)
*Лидерборд с несколькими AI и графики сравнения производительности в реальном времени показывают битву Qwen против DeepSeek*
### 📊 Детали трейдера - Полная торговая панель
![Страница деталей](../../../screenshots/details-page.png)
*Профессиональный торговый интерфейс с кривыми капитала, живыми позициями и логами решений AI с раскрываемыми входными промптами и цепочкой рассуждений*
---
> 📘 **Примечание**: Это упрощенная русская версия README. Для получения полной технической документации, включая архитектуру системы, API-интерфейсы и расширенные конфигурации, см. [Английскую версию](../../../README.md) или [Китайскую версию](../zh-CN/README.md).
---
## ✨ Основные возможности
### 🏆 Режим конкуренции нескольких 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 капитал счета
- **Настраиваемое плечо** (v2.0.3+):
- Установите максимальное плечо в config.json
- По умолчанию: 5x для всех монет (безопасно для субаккаунтов)
- Основные аккаунты могут увеличить: Альткоины до 20x, BTC/ETH до 50x
- ⚠️ Субаккаунты Binance ограничены ≤5x плечом
- **Управление маржой**: Общее использование ≤90%, AI принимает автономные решения
- **Соотношение риск/доход**: Обязательное ≥1:2 (стоп-лосс:тейк-профит)
- **Предотвращение накопления позиций**: Запрет дублирования открытия той же монеты/направления
### 🎨 Профессиональный UI
- **Профессиональный торговый интерфейс**: Визуальный дизайн в стиле Binance
- **Темная тема**: Классическая цветовая схема (Золотой #F0B90B + темный фон)
- **Данные в реальном времени**: Обновление каждые 5 секунд для счетов, позиций, графиков
- **Кривая капитала**: График исторического тренда стоимости счета (переключение USD/процент)
- **График сравнения производительности**: Сравнение ROI нескольких AI в реальном времени
- **Плавные анимации**: Плавные эффекты наведения, переходов и загрузки
### 📝 Полная запись решений
- **Цепочка рассуждений**: Полный процесс рассуждений AI (CoT)
- **Историческая производительность**: Общий процент выигрышей, средняя прибыль, соотношение прибыли/убытка
- **Последние сделки**: Детали последних 5 сделок (цена входа → цена выхода → P/L%)
- **Статистика по монетам**: Производительность по каждой монете (процент выигрышей, средний P/L)
- **JSON логи**: Полные записи решений для пост-анализа
---
## 🔮 Дорожная Карта - Расширение на Универсальные Рынки
Миссия NOFX - стать **Универсальной AI Торговой Операционной Системой** для всех финансовых рынков.
**Видение:** Та же архитектура. Та же агентная структура. Все рынки.
**Расширение на Рынки:**
- 📈 **Фондовые Рынки**: Акции США, A-акции, Гонконгская биржа
- 📊 **Рынки Фьючерсов**: Товарные фьючерсы, индексные фьючерсы
- 🎯 **Опционная Торговля**: Опционы на акции, крипто опционы
- 💱 **Рынки Форекс**: Основные валютные пары, кросс-курсы
**Предстоящие Функции:**
- Расширенные AI возможности (GPT-4, Claude 3, Gemini Pro, гибкие шаблоны промптов)
- Новые интеграции бирж (OKX, Bybit, Lighter, EdgeX + CEX/Perp-DEX)
- Рефакторинг структуры проекта (высокая связность, низкая связанность, принципы SOLID)
- Улучшения безопасности (AES-256 шифрование API ключей, RBAC, улучшения 2FA)
- Улучшения пользовательского опыта (мобильный интерфейс, графики TradingView, система оповещений)
📖 **Для подробной дорожной карты и сроков см.:**
- **English:** [Roadmap Documentation](../../roadmap/README.md)
- **中文:** [路线图文档](../../roadmap/README.zh-CN.md)
---
## 🏗️ Техническая Архитектура
NOFX построен на современной модульной архитектуре:
- **Backend:** Go с фреймворком Gin, база данных SQLite
- **Frontend:** React 18 + TypeScript + Vite + TailwindCSS
- **Поддержка Бирж:** Binance, Hyperliquid, Aster DEX
- **Интеграция AI:** DeepSeek, Qwen и пользовательские OpenAI-совместимые API
- **Управление Состоянием:** Zustand для фронтенда, на основе базы данных для бэкенда
- **Обновления в Реальном Времени:** SWR с интервалами опроса 5-10 секунд
**Ключевые Особенности:**
- 🗄️ Конфигурация на основе базы данных (больше никакого редактирования JSON)
- 🔐 JWT аутентификация с опциональной поддержкой 2FA
- 📊 Отслеживание производительности и аналитика в реальном времени
- 🤖 Режим конкуренции Multi-AI с живым сравнением
- 🔌 RESTful API для всех настроек и мониторинга
📖 **Для подробной документации по архитектуре см.:**
- **Русский:** [Документация по Архитектуре](../../architecture/README.md)
- **中文:** [架构文档](../../architecture/README.zh-CN.md)
---
## 💰 Регистрация аккаунта 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 V2 (с пробелами)
# Если у вас установлена старая версия `docker-compose`, обновитесь до Docker Desktop или Docker 20.10+
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)
- **日本語**: [DOCKER_DEPLOY.ja.md](DOCKER_DEPLOY.ja.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.console.aliyun.com](https://dashscope.console.aliyun.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
}
],
"leverage": {
"btc_eth_leverage": 5,
"altcoin_leverage": 5
},
"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`)
---
#### 🔷 Альтернатива: Использование биржи Hyperliquid
**NOFX также поддерживает Hyperliquid** - децентрализованную биржу бессрочных фьючерсов. Чтобы использовать Hyperliquid вместо Binance:
**Шаг 1**: Получите приватный ключ Ethereum (для аутентификации Hyperliquid)
1. Откройте **MetaMask** (или любой Ethereum кошелек)
2. Экспортируйте приватный ключ
3. **Удалите префикс `0x`** из ключа
4. Пополните кошелек на [Hyperliquid](https://hyperliquid.xyz)
**Шаг 2**: Настройте `config.json` для Hyperliquid
```json
{
"traders": [
{
"id": "hyperliquid_trader",
"name": "My Hyperliquid Trader",
"enabled": true,
"ai_model": "deepseek",
"exchange": "hyperliquid",
"hyperliquid_private_key": "your_private_key_without_0x",
"hyperliquid_wallet_addr": "your_ethereum_address",
"hyperliquid_testnet": false,
"deepseek_key": "sk-xxxxxxxxxxxxx",
"initial_balance": 1000.0,
"scan_interval_minutes": 3
}
],
"use_default_coins": true,
"api_server_port": 8080
}
```
**Ключевые отличия от конфигурации Binance:**
- Замените `binance_api_key` + `binance_secret_key` на `hyperliquid_private_key`
- Добавьте поле `"exchange": "hyperliquid"`
- Установите `hyperliquid_testnet: false` для мейннета (или `true` для тестнета)
**⚠️ Предупреждение безопасности**: Никогда не делитесь приватным ключом! Используйте отдельный кошелек для торговли, а не основной.
---
#### 🔶 Альтернатива: Использование биржи Aster DEX
**NOFX также поддерживает Aster DEX** - децентрализованную биржу бессрочных фьючерсов, совместимую с Binance!
**Почему выбрать Aster?**
- 🎯 API совместимый с Binance (легкая миграция)
- 🔐 Система безопасности API кошелька
- 💰 Более низкие комиссии за торговлю
- 🌐 Поддержка нескольких цепей (ETH, BSC, Polygon)
- 🌍 Не нужна KYC
**Шаг 1**: Зарегистрируйтесь и создайте Aster API кошелек
1. Зарегистрируйтесь по [реферальной ссылке Aster](https://www.asterdex.com/en/referral/fdfc0e) (получите скидку на комиссии!)
2. Посетите [Aster API Wallet](https://www.asterdex.com/en/api-wallet)
3. Подключите основной кошелек (MetaMask, WalletConnect и т.д.)
4. Нажмите "Создать API кошелек"
5. **Сохраните эти 3 элемента немедленно:**
- Адрес основного кошелька (User)
- Адрес API кошелька (Signer)
- Приватный ключ API кошелька (⚠️ показывается только один раз!)
**Шаг 2**: Настройте `config.json` для Aster
```json
{
"traders": [
{
"id": "aster_deepseek",
"name": "Aster DeepSeek Trader",
"enabled": true,
"ai_model": "deepseek",
"exchange": "aster",
"aster_user": "0xYOUR_MAIN_WALLET_ADDRESS_HERE",
"aster_signer": "0xYOUR_API_WALLET_SIGNER_ADDRESS_HERE",
"aster_private_key": "your_api_wallet_private_key_without_0x_prefix",
"deepseek_key": "sk-xxxxxxxxxxxxx",
"initial_balance": 1000.0,
"scan_interval_minutes": 3
}
],
"use_default_coins": true,
"api_server_port": 8080,
"leverage": {
"btc_eth_leverage": 5,
"altcoin_leverage": 5
}
}
```
**Ключевые поля конфигурации:**
- `"exchange": "aster"` - Установите биржу на Aster
- `aster_user` - Адрес вашего основного кошелька
- `aster_signer` - Адрес API кошелька (из Шага 1)
- `aster_private_key` - Приватный ключ API кошелька (без префикса `0x`)
**⚠️ Примечания безопасности**:
- API кошелек отдельный от основного (дополнительный уровень безопасности)
- Никогда не делитесь приватным ключом API
- Вы можете отозвать доступ API кошелька в любое время на [asterdex.com](https://www.asterdex.com/en/api-wallet)
---
#### ⚔️ Экспертный режим: Конкуренция нескольких трейдеров
Для запуска нескольких 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 Трейдер"` | ✅ Да |
| `enabled` | Включен ли этот трейдер<br>Установите в `false` для пропуска запуска | `true` или `false` | ✅ Да |
| `ai_model` | Используемый AI провайдер | `"deepseek"` или `"qwen"` или `"custom"` | ✅ Да |
| `exchange` | Используемая биржа | `"binance"` или `"hyperliquid"` или `"aster"` | ✅ Да |
| `binance_api_key` | Binance API ключ | `"abc123..."` | Требуется при использовании Binance |
| `binance_secret_key` | Binance Secret ключ | `"xyz789..."` | Требуется при использовании Binance |
| `hyperliquid_private_key` | Hyperliquid приватный ключ<br>⚠️ Удалите префикс `0x` | `"your_key..."` | Требуется при использовании Hyperliquid |
| `hyperliquid_wallet_addr` | Hyperliquid адрес кошелька | `"0xabc..."` | Требуется при использовании Hyperliquid |
| `hyperliquid_testnet` | Использовать тестнет | `true` или `false` | ❌ Нет (по умолчанию false) |
| `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) | ✅ Да |
| **`leverage`** | **Конфигурация плеча (v2.0.3+)** | См. ниже | ✅ Да |
| `btc_eth_leverage` | Максимальное плечо для BTC/ETH<br>⚠️ Субаккаунты: ≤5x | `5` (по умолчанию, безопасно)<br>`50` (максимум для основного аккаунта) | ✅ Да |
| `altcoin_leverage` | Максимальное плечо для альткоинов<br>⚠️ Субаккаунты: ≤5x | `5` (по умолчанию, безопасно)<br>`20` (максимум для основного аккаунта) | ✅ Да |
| `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
---
#### ⚙️ Конфигурация плеча (v2.0.3+)
**Что такое конфигурация плеча?**
Настройки плеча контролируют максимальное плечо, которое AI может использовать для каждой сделки. Это критически важно для управления рисками, особенно для субаккаунтов Binance, которые имеют ограничения по плечу.
**Формат конфигурации:**
```json
"leverage": {
"btc_eth_leverage": 5, // Максимальное плечо для BTC и ETH
"altcoin_leverage": 5 // Максимальное плечо для всех других монет
}
```
**⚠️ Важно: Ограничения субаккаунтов Binance**
- **Субаккаунты**: Ограничены **≤5x плечом** от Binance
- **Основные аккаунты**: Могут использовать до 20x (альткоины) или 50x (BTC/ETH)
- Если вы используете субаккаунт и установите плечо >5x, сделки будут **завершаться с ошибкой**: `Subaccounts are restricted from using leverage greater than 5x`
**Рекомендуемые настройки:**
| Тип аккаунта | Плечо BTC/ETH | Плечо альткоинов | Уровень риска |
|--------------|---------------|------------------|---------------|
| **Субаккаунт** | `5` | `5` | ✅ Безопасно (по умолчанию) |
| **Основной (Консервативно)** | `10` | `10` | 🟡 Средний |
| **Основной (Агрессивно)** | `20` | `15` | 🔴 Высокий |
| **Основной (Максимум)** | `50` | `20` | 🔴🔴 Очень высокий |
**Примеры:**
**Безопасная конфигурация (субаккаунт или консервативная):**
```json
"leverage": {
"btc_eth_leverage": 5,
"altcoin_leverage": 5
}
```
**Агрессивная конфигурация (только основной аккаунт):**
```json
"leverage": {
"btc_eth_leverage": 20,
"altcoin_leverage": 15
}
```
**Как AI использует плечо:**
- AI может выбрать **любое плечо от 1x до вашего настроенного максимума**
- Например, с `altcoin_leverage: 20`, AI может решить использовать 5x, 10x или 20x в зависимости от рыночных условий
- Конфигурация устанавливает **верхний лимит**, а не фиксированное значение
- AI учитывает волатильность, соотношение риск/доход и баланс аккаунта при выборе плеча
---
#### ⚠️ Важно: Поле `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~~ *Измените `API_PORT` в файле .env* |
| `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/api/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: 🎯 Оценка новых возможностей (пул кандидатов монет)
- Получение пула монет (2 режима):
- 🌟 **Режим по умолчанию**: BTC, ETH, SOL, BNB, XRP и т.д.
- ⚙️ **Расширенный режим**: AI500 (топ-20) + OI Top (топ-20)
- Объединение, удаление дубликатов, фильтрация монет с низкой ликвидностью (OI < 15M USD)
- Массовое получение рыночных данных и технических индикаторов
- Подготовка полных последовательностей сырых данных для каждой монеты-кандидата
**↓**
### Шаг 5: 🧠 Комплексное решение AI
- Просмотр исторической обратной связи (процент выигрышей, коэффициент P/L, лучшие/худшие монеты)
- Получение всех данных последовательностей (свечи, индикаторы, открытый интерес)
- Анализ Chain of Thought
- Вывод решения: закрыть/открыть/удерживать/наблюдать
- Включает параметры плеча, размера, стоп-лосса, тейк-профита
- 📌 **НОВОЕ (v2.0.2)**: AI может свободно анализировать сырые последовательности, не ограничен заранее определенными индикаторами
**↓**
### Шаг 6: ⚡ Исполнение сделок
- Приоритизация: сначала закрытие, затем открытие
- Автоматическая адаптация точности (правила LOT_SIZE)
- Предотвращение накопления позиций (отклонение дублирования монета/направление)
- Автоматическая отмена всех ордеров после закрытия
- Запись времени открытия для отслеживания длительности позиции
- 📌 Отслеживание времени открытия позиции
**↓**
### Шаг 7: 📝 Запись логов
- Сохранение полной записи решения в `decision_logs/`
- Включает цепочку рассуждений, JSON решения, снимок аккаунта, результаты исполнения
- Хранение полных данных позиции (количество, плечо, время открытия/закрытия)
- Использование ключей `symbol_side` для предотвращения конфликтов лонг/шорт
- 📌 **НОВОЕ (v2.0.2)**: Предотвращение конфликтов при удержании лонг + шорт, учет количества + плеча
**↓**
**🔄 (Повтор каждые 3-5 минут)**
### Ключевые улучшения в 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.console.aliyun.com/) - Alibaba Cloud Qwen
- [TA-Lib](https://ta-lib.org/) - Библиотека технических индикаторов
- [Recharts](https://recharts.org/) - Библиотека графиков React
---
## 🔄 Журнал Изменений
📖 **Для подробной истории версий и обновлений см.:**
- **Русский:** [CHANGELOG.zh-CN.md](../../../CHANGELOG.zh-CN.md)
- **English:** [CHANGELOG.md](../../../CHANGELOG.md)
**Последняя Версия:** v3.0.0 (2025-10-30) - Масштабная Трансформация Архитектуры
**Недавние Основные Моменты:**
- 🚀 Полная переработка системы с веб-конфигурацией
- 🗄️ Архитектура на основе базы данных (SQLite)
- 🎨 Никакого редактирования JSON - вся конфигурация через веб-интерфейс
- 🔧 Комбинируйте AI модели с любой биржей
- 📊 Расширенный API слой с комплексными эндпоинтами
- 🔐 Аутентификация JWT + поддержка 2FA
- 🌐 Поддержка кастомных API (совместимых с OpenAI)
- 📈 Система шаблонов промптов с удаленной аутентификацией
**⚡ Исследуйте возможности количественной торговли с силой AI!**
---
## ⭐ Star History
[![Star History Chart](https://api.star-history.com/svg?repos=tinkle-community/nofx&type=Date)](https://star-history.com/#tinkle-community/nofx&Date)