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>
56 KiB
🤖 NOFX - AI-управляемая система автоматической торговли фьючерсами Binance
Языки / Languages: English | 中文 | Українська | Русский
Автоматизированная система торговли фьючерсами Binance на базе DeepSeek/Qwen AI, поддерживающая конкуренцию нескольких AI-моделей в реальной торговле, с полным анализом рынка, принятием решений AI, механизмом самообучения и профессиональным веб-интерфейсом мониторинга.
⚠️ Предупреждение о рисках: Эта система экспериментальная. Автоматическая торговля с AI несет значительные риски. Настоятельно рекомендуется использовать только для обучения/исследований или тестирования с небольшими суммами!
👥 Сообщество разработчиков
Присоединяйтесь к нашему сообществу разработчиков в Telegram для обсуждения, обмена идеями и получения поддержки:
💬 Сообщество разработчиков NOFX
✨ Основные возможности
🏆 Режим конкуренции нескольких 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 - Получить скидку
Шаги регистрации:
- Нажмите на ссылку выше чтобы перейти на страницу регистрации Binance
- Завершите регистрацию используя email/номер телефона
- Пройдите KYC верификацию (требуется для торговли фьючерсами)
- Активируйте аккаунт Futures:
- Перейдите на главную страницу Binance → Деривативы → USD-M Фьючерсы
- Нажмите "Открыть сейчас" для активации торговли фьючерсами
- Создайте API ключ:
- Перейдите в Аккаунт → Управление API
- Создайте новый API ключ, включите разрешение "Futures"
- Сохраните API Key и Secret Key (необходимо для config.json)
- Важно: Добавьте свой IP адрес в белый список для безопасности
Преимущества скидки:
- ✅ Спотовая торговля: Скидка до 30% на комиссии
- ✅ Торговля фьючерсами: Скидка до 30% на комиссии
- ✅ Пожизненная: Постоянная скидка на все сделки
🚀 Быстрый старт
🐳 Вариант A: Docker развертывание в один клик (ПРОЩЕ ВСЕГО - Рекомендуется для новичков!)
⚡ Начните торговать за 3 простых шага с Docker - Не нужно ничего устанавливать!
Docker автоматически обрабатывает все зависимости (Go, Node.js, TA-Lib) и настройку среды. Идеально для новичков!
Шаг 1: Подготовьте конфигурацию
# Скопируйте шаблон конфигурации
cp config.json.example config.json
# Отредактируйте и заполните ваши API ключи
nano config.json # или используйте любой редактор
Шаг 2: Запуск в один клик
# Вариант 1: Используйте удобный скрипт (Рекомендуется)
chmod +x start.sh
./start.sh start --build
# Вариант 2: Используйте docker-compose напрямую
docker-compose up -d --build
Шаг 3: Доступ к панели
Откройте в браузере: http://localhost:3000
Вот и все! 🎉 Ваша AI торговая система теперь работает!
Управление вашей системой
./start.sh logs # Просмотреть логи
./start.sh status # Проверить статус
./start.sh stop # Остановить сервисы
./start.sh restart # Перезапустить сервисы
📖 Подробное руководство по развертыванию Docker, устранению неполадок и расширенной конфигурации:
- Русский: См. документацию Docker (скоро будет доступно)
- English: See DOCKER_DEPLOY.en.md
- 中文: 查看 DOCKER_DEPLOY.md
📦 Вариант B: Ручная установка (Для разработчиков)
Примечание: Если вы использовали развертывание Docker выше, пропустите этот раздел. Ручная установка нужна только если вы хотите изменить код или запустить без Docker.
1. Требования к среде
- Go 1.21+
- Node.js 18+
- TA-Lib библиотека (расчет технических индикаторов)
Установка TA-Lib
macOS:
brew install ta-lib
Ubuntu/Debian:
sudo apt-get install libta-lib0-dev
Другие системы: См. Официальную документацию TA-Lib
2. Клонирование проекта
git clone https://github.com/tinkle-community/nofx.git
cd nofx
3. Установка зависимостей
Backend:
go mod download
Frontend:
cd web
npm install
cd ..
4. Получение AI API ключей
Перед настройкой системы вам необходимо получить AI API ключ. Выберите одного из следующих AI провайдеров:
Вариант 1: DeepSeek (Рекомендуется для новичков)
Почему DeepSeek?
- 💰 Дешевле чем GPT-4 (примерно 1/10 стоимости)
- 🚀 Быстрое время отклика
- 🎯 Отличное качество торговых решений
- 🌍 Доступен глобально без VPN
Как получить DeepSeek API ключ:
- Посетите: https://platform.deepseek.com
- Зарегистрируйтесь: Используя email/номер телефона
- Подтвердите: Завершите подтверждение email/телефона
- Пополните: Добавьте баланс на аккаунт
- Минимум: ~$5 USD
- Рекомендуется: $20-50 USD для тестирования
- Создайте API ключ:
- Перейдите в раздел API Keys
- Нажмите "Создать новый ключ"
- Скопируйте и сохраните ключ (начинается с
sk-) - ⚠️ Важно: Сохраните немедленно - позже увидеть не сможете!
Цена: Примерно $0.14 за миллион токенов (очень дешево!)
Вариант 2: Qwen (Alibaba Cloud Tongyi Qianwen)
Как получить Qwen API ключ:
- Посетите: https://dashscope.aliyuncs.com
- Зарегистрируйтесь: Используя аккаунт Alibaba Cloud
- Активируйте сервис: Активируйте DashScope сервис
- Создайте API ключ:
- Перейдите в управление API ключами
- Создайте новый ключ
- Скопируйте и сохраните (начинается с
sk-)
Примечание: Может потребоваться китайский номер телефона для регистрации
5. Конфигурация системы
Доступны два режима конфигурации:
- 🌟 Режим новичка: Один трейдер + монеты по умолчанию (Рекомендуется!)
- ⚔️ Экспертный режим: Конкуренция нескольких трейдеров
🌟 Конфигурация режима новичка (Рекомендуется)
Шаг 1: Скопируйте и переименуйте файл примера конфигурации
cp config.json.example config.json
Шаг 2: Отредактируйте config.json и заполните ваши API ключи
{
"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 |
Шаг 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 трейдеров, конкурирующих друг с другом:
{
"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 |
Использовать встроенный список монет ✨ Умное значение по умолчанию: true (v2.0.2+)Автоматически включается без API |
true или опустить |
❌ Нет (Опционально, авто) |
coin_pool_api_url |
API пользовательского пула монет Требуется только при use_default_coins: false |
"" (пусто) |
❌ Нет |
oi_top_api_url |
API открытого интереса Опциональные дополнительные данные |
"" (пусто) |
❌ Нет |
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: Явное указание (Рекомендуется для ясности)
"use_default_coins": true,
"coin_pool_api_url": "",
"oi_top_api_url": ""
✅ Вариант 2: Опустить поле (Автоматически использует монеты по умолчанию)
// Не включать "use_default_coins" вообще
"coin_pool_api_url": "",
"oi_top_api_url": ""
⚙️ Расширенное: Использовать внешний API
"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 частей, которые необходимо запустить отдельно:
- Backend (AI торговый мозг + API)
- Frontend (Веб-панель мониторинга)
Шаг 1: Запустите Backend
Откройте терминал и выполните:
# Соберите программу (первый запуск или после изменений кода)
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
Откройте новое окно терминала (держите первое открытым!), затем:
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: Доступ к панели
Откройте в веб-браузере:
Вы увидите:
- 📊 Баланс аккаунта в реальном времени
- 📈 Позиции (если есть)
- 🤖 AI логи решений
- 📉 График капитала
Подсказки для первого использования:
- Первое AI решение может занять 3-5 минут
- Начальное решение может показать "наблюдение" - это нормально
- AI должен сначала проанализировать рынок
7. Мониторинг системы
Что отслеживать:
✅ Признаки здоровой системы:
- Backend терминал показывает циклы решений каждые 3-5 минут
- Нет постоянных сообщений об ошибках
- Обновляется баланс аккаунта
- Веб-панель автоматически обновляется
⚠️ Признаки предупреждения:
- Повторяющиеся API ошибки
- Нет решений более 10 минут
- Быстро падающий баланс
Проверка состояния системы:
# В новом окне терминала
curl http://localhost:8080/health
Должно вернуть: {"status":"ok"}
8. Остановка системы
Изящное завершение (Рекомендуется):
- Перейдите к Backend терминалу (первому)
- Нажмите
Ctrl+C - Дождитесь сообщения "Система остановлена"
- Перейдите к Frontend терминалу (второму)
- Нажмите
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") - Предотвращает конфликты при одновременном удержании лонг и шорт
- Хранит полные данные: количество, плечо, время открытия/закрытия
⚠️ Важные предупреждения о рисках
Торговые риски
- Рынки криптовалют чрезвычайно волатильны, решения AI не гарантируют прибыль
- Торговля фьючерсами использует плечо, убытки могут превысить основную сумму
- Экстремальные рыночные условия могут привести к ликвидации
- Комиссии за финансирование могут повлиять на стоимость удержания
- Риск ликвидности: Некоторые монеты могут испытывать проскальзывание
Технические риски
- Задержка сети может вызвать проскальзывание цены
- Лимиты API могут повлиять на исполнение сделок
- Тайм-ауты AI API могут вызвать сбои решений
- Системные ошибки могут вызвать неожиданное поведение
Рекомендации по использованию
✅ Рекомендуется
- Используйте только средства, потерю которых вы можете позволить для тестирования
- Начните с небольших сумм (рекомендуется 100-500 USDT)
- Регулярно проверяйте состояние работы системы
- Отслеживайте изменения баланса счета
- Анализируйте логи решений AI для понимания стратегии
❌ Не рекомендуется
- Инвестировать все средства или заемные деньги
- Запускать без присмотра на длительные периоды
- Слепо доверять решениям AI
- Использовать без понимания системы
- Запускать во время экстремальной волатильности рынка
🛠️ Частые проблемы
1. Ошибка компиляции: TA-Lib не найдена
Решение: Установите библиотеку TA-Lib
# 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 для деталей
🤝 Вклад в проект
Приветствуются Issues и Pull Requests!
Руководство по разработке
- Сделайте Fork проекта
- Создайте ветку функции (
git checkout -b feature/AmazingFeature) - Зафиксируйте изменения (
git commit -m 'Add some AmazingFeature') - Отправьте в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
📬 Контакты
- Twitter/X: @Web3Tinkle
- GitHub Issues: Создать Issue
🙏 Благодарности
- Binance API - Binance Futures API
- DeepSeek - DeepSeek AI API
- Qwen - Alibaba Cloud Qwen
- TA-Lib - Библиотека технических индикаторов
- Recharts - Библиотека графиков React
🔄 История изменений
{
"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: Каждый трейдер использует независимый аккаунт Binanceinitial_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 сервер):
go build -o nofx
./nofx
Запуск frontend (веб-панель):
Откройте новый терминал:
cd web
npm run dev
Доступ к интерфейсу:
Веб-панель: http://localhost:3000
API сервер: http://localhost:8080
6. Остановка системы
Нажмите Ctrl+C в обоих терминалах
⚠️ Важные предупреждения о рисках
Торговые риски
- Рынки криптовалют чрезвычайно волатильны, решения AI не гарантируют прибыль
- Торговля фьючерсами использует плечо, убытки могут превысить основную сумму
- Экстремальные рыночные условия могут привести к ликвидации
- Комиссии за финансирование могут повлиять на стоимость удержания
- Риск ликвидности: Некоторые монеты могут испытывать проскальзывание
Технические риски
- Задержка сети может вызвать проскальзывание цены
- Лимиты API могут повлиять на исполнение сделок
- Тайм-ауты AI API могут вызвать сбои решений
- Системные ошибки могут вызвать неожиданное поведение
Рекомендации по использованию
✅ Рекомендуется
- Используйте только средства, потерю которых вы можете позволить для тестирования
- Начните с небольших сумм (рекомендуется 100-500 USDT)
- Регулярно проверяйте состояние работы системы
- Отслеживайте изменения баланса счета
- Анализируйте логи решений AI для понимания стратегии
❌ Не рекомендуется
- Инвестировать все средства или заемные деньги
- Запускать без присмотра на длительные периоды
- Слепо доверять решениям AI
- Использовать без понимания системы
- Запускать во время экстремальной волатильности рынка
🛠️ Частые проблемы
1. Ошибка компиляции: TA-Lib не найдена
Решение: Установите библиотеку TA-Lib
# 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 для деталей
🤝 Вклад в проект
Приветствуются Issues и Pull Requests!
Руководство по разработке
- Сделайте Fork проекта
- Создайте ветку функции (
git checkout -b feature/AmazingFeature) - Зафиксируйте изменения (
git commit -m 'Add some AmazingFeature') - Отправьте в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
📬 Контакты
- Twitter/X: @Web3Tinkle
- GitHub Issues: Создать Issue
🙏 Благодарности
- Binance API - Binance Futures API
- DeepSeek - DeepSeek AI API
- Qwen - Alibaba Cloud Qwen
- TA-Lib - Библиотека технических индикаторов
- Recharts - Библиотека графиков React
🔄 История изменений
v2.0.2 (2025-10-29)
Критические исправления ошибок - История сделок и анализ производительности:
Эта версия исправляет критические ошибки расчета в системе исторических записей сделок и анализа производительности, которые значительно влияли на статистику прибыльности.
1. Расчет P/L - Исправление крупной ошибки (logger/decision_logger.go)
- Проблема: Ранее P/L рассчитывался только как процент, полностью игнорируя размер позиции и плечо
- Пример: Позиция 100 USDT с доходом 5% и позиция 1000 USDT с доходом 5% обе показывали
5.0как прибыль - Это делало анализ производительности полностью неточным
- Пример: Позиция 100 USDT с доходом 5% и позиция 1000 USDT с доходом 5% обе показывали
- Решение: Теперь рассчитывается фактическая прибыль в 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!